From: Alexander Potapenko <gli...@google.com> Date: Tue, 18 Apr 2017 19:47:08 +0200
> In the case getsockopt() is called with PACKET_HDRLEN and zero length, > |val| remains uninitialized and the syscall may behave differently > depending on its value. This doesn't have security consequences (as the > uninit bytes aren't copied back), but it's still cleaner to initialize > |val|. > > This bug has been detected with KMSAN. > > Signed-off-by: Alexander Potapenko <gli...@google.com> Copying into an 'int' only 1, 2, or 3 bytes is not going to work properly. Either enforce that it must be 4 bytes long, or handle the smaller sizes properly such that it will work regardless of endianness. Thanks.