remove recovery attempt in mapping

This commit is contained in:
Haris Khan
2024-11-17 21:39:31 -05:00
parent 07268df720
commit b72ed0a37d
2 changed files with 6 additions and 4 deletions

View File

@ -210,22 +210,24 @@ func ReadMapping(bytes []byte) (mapping Mapping, remainder []byte, err []error)
}).Warn("mapping format violation")
e := errors.New("error parsing mapping values")
err = append(err, e)
} else if len(remainder) > size.Int() { // Handle extra bytes beyond mapping length
}
if len(remainder) > 0 { // Handle extra bytes beyond mapping length
log.WithFields(logrus.Fields{
"expected_size": size.Int(),
"actual_size": len(remainder),
}).Warn("mapping format violation: data exists beyond length of mapping")
}).Error("mapping format violation: data exists beyond length of mapping")
e := errors.New("warning parsing mapping: data exists beyond length of mapping")
err = append(err, e)
// Slice the exact mapping bytes
/* // Don't attempt recovery, can cause panics
map_bytes := remainder[:size.Int()]
remainder = remainder[size.Int():]
vals, _, mappingValueErrs := ReadMappingValues(map_bytes, *size)
err = append(err, mappingValueErrs...)
mapping.vals = vals
*/
return
}

View File

@ -53,7 +53,7 @@ func TestValuesWarnsExtraData(t *testing.T) {
assert.Equal(key, "a", "Values() did not return key in valid data")
assert.Equal(val, "b", "Values() did not return value in valid data")
if assert.Equal(2, len(errs), "Values() reported wrong error count when mapping had extra data") {
if assert.Equal(1, len(errs), "Values() reported wrong error count when mapping had extra data") {
assert.Equal("warning parsing mapping: data exists beyond length of mapping", errs[0].Error(), "correct error message should be returned")
}
}