add 32-bit tests; return errors in case of string-to-int overflows (#276)

This commit is contained in:
Alessandro Ros
2023-05-08 13:10:31 +02:00
committed by GitHub
parent 3d5496173d
commit a54a5946c7
22 changed files with 67 additions and 55 deletions

View File

@@ -45,7 +45,7 @@ func (f *MPEG4AudioGeneric) unmarshal(
}
case "profile-level-id":
tmp, err := strconv.ParseInt(val, 10, 64)
tmp, err := strconv.ParseUint(val, 10, 31)
if err != nil {
return fmt.Errorf("invalid profile-level-id: %v", val)
}
@@ -65,22 +65,22 @@ func (f *MPEG4AudioGeneric) unmarshal(
}
case "sizelength":
n, err := strconv.ParseUint(val, 10, 64)
if err != nil {
n, err := strconv.ParseUint(val, 10, 31)
if err != nil || n > 100 {
return fmt.Errorf("invalid AAC SizeLength: %v", val)
}
f.SizeLength = int(n)
case "indexlength":
n, err := strconv.ParseUint(val, 10, 64)
if err != nil {
n, err := strconv.ParseUint(val, 10, 31)
if err != nil || n > 100 {
return fmt.Errorf("invalid AAC IndexLength: %v", val)
}
f.IndexLength = int(n)
case "indexdeltalength":
n, err := strconv.ParseUint(val, 10, 64)
if err != nil {
n, err := strconv.ParseUint(val, 10, 31)
if err != nil || n > 100 {
return fmt.Errorf("invalid AAC IndexDeltaLength: %v", val)
}
f.IndexDeltaLength = int(n)