syscall: fix use of uninitialized values
authorPhilippe Mathieu-Daudé <f4bug@amsat.org>
Thu, 27 Jul 2017 02:42:18 +0000 (23:42 -0300)
committerMichael Tokarev <mjt@tls.msk.ru>
Mon, 31 Jul 2017 10:06:39 +0000 (13:06 +0300)
linux-user/syscall.c:1627:35: warning: 1st function call argument is an uninitialized value
        target_saddr->sa_family = tswap16(addr->sa_family);
                                  ^~~~~~~~~~~~~~~~~~~~~~~~
linux-user/syscall.c:1629:25: warning: The left operand of '==' is a garbage value
    if (addr->sa_family == AF_NETLINK && len >= sizeof(struct sockaddr_nl)) {
        ~~~~~~~~~~~~~~~ ^

Reported-by: Clang Static Analyzer
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
linux-user/syscall.c

index 71d45a9963f0a2e0a634c52222d44ae293632250..81f52f7483a970325d498e428a55d2c5990b65e8 100644 (file)
@@ -1622,6 +1622,7 @@ static inline abi_long host_to_target_sockaddr(abi_ulong target_addr,
     if (len == 0) {
         return 0;
     }
+    assert(addr);
 
     target_saddr = lock_user(VERIFY_WRITE, target_addr, len, 0);
     if (!target_saddr)