tree d42e16fc3fb1ef6a1a0cabf1a48a823904ff3e3f
parent 3f1500b384cd5aca13b517ebd4055727f35dc14f
author John Levon <john.levon@nutanix.com> 1724064276 +0100
committer GitHub <noreply@github.com> 1724064276 +0100
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsFcBAABCAAQBQJmwyIUCRC1aQ7uu5UhlAAACjoQAIkVwoTTMPn2pBu6DTyGbTt+
 ARezgl+JDcvRkyWP3HdAOIyTtOuI7cScV2lcp6p69aoiNbMvgqKOaYgtzMsLBx1B
 zKnqf2Qk3dUhi6pM3jesZ8kLubv7bPVnpPvpkPc0x6NW4hE/+l2jOj4rBm6bKghV
 Wh4Ew9p587ZLyZmQa0DTHiisq16iwxamuUZdRYAWyiuxJj/YiE/4m6ZocPl3VaAp
 CWrDegrDO6JwXJkzqQUp4wJiujuZuZ/Xy+IJpiO6MCqBzS0DpTWw+yU/833Jn6Yd
 AP5CrSSziFzzsW0BHoPNilg9Nbo/pS6vL08EZHWBWc/acIhJUMjcTWNPz/rsxuao
 cMidqtDx+1hpBSHR9OO5D2iM4d3YWNTH1CZTFTJQCGTGUWeCglpfJBMQ4Wagrxe+
 dfzrFGKJ+4YiONd0CIfK69EXoyNmK01zxi0D04i+iSV8e206i5cMI4C7L2N2wxEw
 H+bOin5IWF77r+jKEgu+GAE8eXRw+Bi/DF+3dX6yFgL3gnnpfbrFQ5y8U6gMAGrV
 i4kCFN1xXNv91XCMs5gPELfMKhiil04AZQ6ID/ZQYktvBH1r0z42QDYE5BEYrAb6
 ut9tpn78hhR6iOINLNaMYfXONuskEHYXxh4tFR/3sBkeTxCFc7OmyK9HKvOt6+B8
 47FfDAoYl23euZPnvh7S
 =eM8/
 -----END PGP SIGNATURE-----
 

Add further sanity checking of hdr->error_no (#805)

>>>     CID 467267:  Insecure data handling  (INTEGER_OVERFLOW)
>>>     The cast of "hdr->error_no" to a signed type could result in a negative number.

Indeed, if a client sends a very large ->error_no, this could end up
with a negative errno value. This doesn't seem like an issue, but
nonetheless tighten up our validation.

For some reason Coverity only complained about tran_pipe.c, but the same
problem exists in tran_sock.c.

Signed-off-by: John Levon <john.levon@nutanix.com>