mirror of
https://github.com/aler9/gortsplib
synced 2025-10-06 15:46:51 +08:00
fix panic when checking pts = dts on H265 (bluenviron/mediamtx#3754) (#617)
This commit is contained in:
@@ -87,3 +87,9 @@ func FuzzUnmarshalH264(f *testing.F) {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func FuzzH264PTSEqualsDTS(f *testing.F) {
|
||||||
|
f.Fuzz(func(t *testing.T, b []byte) {
|
||||||
|
(&H264{}).PTSEqualsDTS(&rtp.Packet{Payload: b})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
@@ -140,13 +140,13 @@ func (f *H265) PTSEqualsDTS(pkt *rtp.Packet) bool {
|
|||||||
return true
|
return true
|
||||||
|
|
||||||
case h265.NALUType_AggregationUnit:
|
case h265.NALUType_AggregationUnit:
|
||||||
payload := pkt.Payload[2:]
|
if len(pkt.Payload) < 4 {
|
||||||
|
|
||||||
for {
|
|
||||||
if len(payload) < 2 {
|
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
payload := pkt.Payload[2:]
|
||||||
|
|
||||||
|
for {
|
||||||
size := uint16(payload[0])<<8 | uint16(payload[1])
|
size := uint16(payload[0])<<8 | uint16(payload[1])
|
||||||
payload = payload[2:]
|
payload = payload[2:]
|
||||||
|
|
||||||
@@ -167,6 +167,10 @@ func (f *H265) PTSEqualsDTS(pkt *rtp.Packet) bool {
|
|||||||
if len(payload) == 0 {
|
if len(payload) == 0 {
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if len(payload) < 2 {
|
||||||
|
return false
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
case h265.NALUType_FragmentationUnit:
|
case h265.NALUType_FragmentationUnit:
|
||||||
|
@@ -104,3 +104,9 @@ func FuzzUnmarshalH265(f *testing.F) {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func FuzzH265PTSEqualsDTS(f *testing.F) {
|
||||||
|
f.Fuzz(func(t *testing.T, b []byte) {
|
||||||
|
(&H265{}).PTSEqualsDTS(&rtp.Packet{Payload: b})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
2
pkg/format/testdata/fuzz/FuzzH264PTSEqualsDTS/048b606517c23baf
vendored
Normal file
2
pkg/format/testdata/fuzz/FuzzH264PTSEqualsDTS/048b606517c23baf
vendored
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
go test fuzz v1
|
||||||
|
[]byte("800")
|
2
pkg/format/testdata/fuzz/FuzzH264PTSEqualsDTS/0d7efebfbe993205
vendored
Normal file
2
pkg/format/testdata/fuzz/FuzzH264PTSEqualsDTS/0d7efebfbe993205
vendored
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
go test fuzz v1
|
||||||
|
[]byte("\xbc")
|
2
pkg/format/testdata/fuzz/FuzzH264PTSEqualsDTS/55cc57e8de6f7821
vendored
Normal file
2
pkg/format/testdata/fuzz/FuzzH264PTSEqualsDTS/55cc57e8de6f7821
vendored
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
go test fuzz v1
|
||||||
|
[]byte("8")
|
2
pkg/format/testdata/fuzz/FuzzH264PTSEqualsDTS/6347df174e34a4bd
vendored
Normal file
2
pkg/format/testdata/fuzz/FuzzH264PTSEqualsDTS/6347df174e34a4bd
vendored
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
go test fuzz v1
|
||||||
|
[]byte("\xbc\xa8")
|
2
pkg/format/testdata/fuzz/FuzzH264PTSEqualsDTS/83e07aca85794b54
vendored
Normal file
2
pkg/format/testdata/fuzz/FuzzH264PTSEqualsDTS/83e07aca85794b54
vendored
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
go test fuzz v1
|
||||||
|
[]byte("\xbc0")
|
2
pkg/format/testdata/fuzz/FuzzH264PTSEqualsDTS/a831486d4a428ccd
vendored
Normal file
2
pkg/format/testdata/fuzz/FuzzH264PTSEqualsDTS/a831486d4a428ccd
vendored
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
go test fuzz v1
|
||||||
|
[]byte("8\x00\x010")
|
2
pkg/format/testdata/fuzz/FuzzH264PTSEqualsDTS/ba42460e5506f2bc
vendored
Normal file
2
pkg/format/testdata/fuzz/FuzzH264PTSEqualsDTS/ba42460e5506f2bc
vendored
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
go test fuzz v1
|
||||||
|
[]byte("8\x00\x01%")
|
2
pkg/format/testdata/fuzz/FuzzH264PTSEqualsDTS/caf81e9797b19c76
vendored
Normal file
2
pkg/format/testdata/fuzz/FuzzH264PTSEqualsDTS/caf81e9797b19c76
vendored
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
go test fuzz v1
|
||||||
|
[]byte("")
|
2
pkg/format/testdata/fuzz/FuzzH265PTSEqualsDTS/19981bffc2abbaf1
vendored
Normal file
2
pkg/format/testdata/fuzz/FuzzH265PTSEqualsDTS/19981bffc2abbaf1
vendored
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
go test fuzz v1
|
||||||
|
[]byte("A")
|
2
pkg/format/testdata/fuzz/FuzzH265PTSEqualsDTS/463b273d21ba371a
vendored
Normal file
2
pkg/format/testdata/fuzz/FuzzH265PTSEqualsDTS/463b273d21ba371a
vendored
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
go test fuzz v1
|
||||||
|
[]byte("b0\xd3")
|
2
pkg/format/testdata/fuzz/FuzzH265PTSEqualsDTS/6e0463cbdc2d559f
vendored
Normal file
2
pkg/format/testdata/fuzz/FuzzH265PTSEqualsDTS/6e0463cbdc2d559f
vendored
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
go test fuzz v1
|
||||||
|
[]byte("a0")
|
2
pkg/format/testdata/fuzz/FuzzH265PTSEqualsDTS/7c106d2d11e725ec
vendored
Normal file
2
pkg/format/testdata/fuzz/FuzzH265PTSEqualsDTS/7c106d2d11e725ec
vendored
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
go test fuzz v1
|
||||||
|
[]byte("a0\x00\x040000")
|
2
pkg/format/testdata/fuzz/FuzzH265PTSEqualsDTS/a564d03307332bc8
vendored
Normal file
2
pkg/format/testdata/fuzz/FuzzH265PTSEqualsDTS/a564d03307332bc8
vendored
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
go test fuzz v1
|
||||||
|
[]byte("a")
|
2
pkg/format/testdata/fuzz/FuzzH265PTSEqualsDTS/b2089cb22b868c96
vendored
Normal file
2
pkg/format/testdata/fuzz/FuzzH265PTSEqualsDTS/b2089cb22b868c96
vendored
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
go test fuzz v1
|
||||||
|
[]byte("b00")
|
2
pkg/format/testdata/fuzz/FuzzH265PTSEqualsDTS/b88d0a1c039b8eca
vendored
Normal file
2
pkg/format/testdata/fuzz/FuzzH265PTSEqualsDTS/b88d0a1c039b8eca
vendored
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
go test fuzz v1
|
||||||
|
[]byte("a0\x00\x04A000")
|
2
pkg/format/testdata/fuzz/FuzzH265PTSEqualsDTS/c4389a565e828050
vendored
Normal file
2
pkg/format/testdata/fuzz/FuzzH265PTSEqualsDTS/c4389a565e828050
vendored
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
go test fuzz v1
|
||||||
|
[]byte("a000")
|
2
pkg/format/testdata/fuzz/FuzzH265PTSEqualsDTS/e8bff8fcc87530c8
vendored
Normal file
2
pkg/format/testdata/fuzz/FuzzH265PTSEqualsDTS/e8bff8fcc87530c8
vendored
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
go test fuzz v1
|
||||||
|
[]byte("a0\x00\x0100")
|
2
pkg/format/testdata/fuzz/FuzzH265PTSEqualsDTS/eb4593a9592045ab
vendored
Normal file
2
pkg/format/testdata/fuzz/FuzzH265PTSEqualsDTS/eb4593a9592045ab
vendored
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
go test fuzz v1
|
||||||
|
[]byte("b0")
|
Reference in New Issue
Block a user