]> granicus.if.org Git - strace/commitdiff
unix_parse_response: add a safety check
authorDmitry V. Levin <ldv@altlinux.org>
Sat, 23 Jan 2016 22:46:40 +0000 (01:46 +0300)
committerDmitry V. Levin <ldv@altlinux.org>
Tue, 2 Feb 2016 00:24:46 +0000 (00:24 +0000)
* socketutils.c (unix_parse_response): Check that netlink message
is large enough to contain a unix_diag_msg structure.

socketutils.c

index 2f4a9b03c9f75edc994a3704b26c53905dd92b58..67fc1ee7fad4f80ce81f95f9c90f7a8e048cb8f2 100644 (file)
@@ -245,6 +245,8 @@ unix_parse_response(const char *proto_name, const void *data, int data_len,
        size_t path_len = 0;
        char path[UNIX_PATH_MAX + 1];
 
+       if (rta_len < 0)
+               return false;
        if (diag_msg->udiag_ino != inode)
                return false;
        if (diag_msg->udiag_family != AF_UNIX)