Merge release-20191104.0-44-gaf323eb (automated)

This commit is contained in:
gVisor bot 2019-11-15 01:15:23 +00:00
commit 2539a555d1
1 changed files with 9 additions and 14 deletions

View File

@ -447,16 +447,13 @@ func GetSockOpt(t *kernel.Task, args arch.SyscallArguments) (uintptr, *kernel.Sy
return 0, nil, syserror.ENOTSOCK return 0, nil, syserror.ENOTSOCK
} }
// Read the length if present. Reject negative values. // Read the length. Reject negative values.
optLen := int32(0) optLen := int32(0)
if optLenAddr != 0 { if _, err := t.CopyIn(optLenAddr, &optLen); err != nil {
if _, err := t.CopyIn(optLenAddr, &optLen); err != nil { return 0, nil, err
return 0, nil, err }
} if optLen < 0 {
return 0, nil, syserror.EINVAL
if optLen < 0 {
return 0, nil, syserror.EINVAL
}
} }
// Call syscall implementation then copy both value and value len out. // Call syscall implementation then copy both value and value len out.
@ -465,11 +462,9 @@ func GetSockOpt(t *kernel.Task, args arch.SyscallArguments) (uintptr, *kernel.Sy
return 0, nil, e.ToError() return 0, nil, e.ToError()
} }
if optLenAddr != 0 { vLen := int32(binary.Size(v))
vLen := int32(binary.Size(v)) if _, err := t.CopyOut(optLenAddr, vLen); err != nil {
if _, err := t.CopyOut(optLenAddr, vLen); err != nil { return 0, nil, err
return 0, nil, err
}
} }
if v != nil { if v != nil {