mirror of
https://github.com/golang/go
synced 2024-10-03 06:21:21 -06:00
catch corruption - avoid crash
R=rsc DELTA=4 (4 added, 0 deleted, 0 changed) OCL=31192 CL=31198
This commit is contained in:
parent
deb954772d
commit
d3a2925bb2
@ -295,6 +295,10 @@ func decodeStruct(engine *decEngine, rtyp reflect.StructType, r io.Reader, p uin
|
||||
basep := p;
|
||||
for state.err == nil {
|
||||
delta := int(DecodeUint(state));
|
||||
if delta < 0 {
|
||||
state.err = os.ErrorString("gob decode: corrupted data: negative delta");
|
||||
break
|
||||
}
|
||||
if state.err != nil || delta == 0 { // struct terminator is zero delta fieldnum
|
||||
break
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user