Dear strace developers,

We are creating a Linux distribution focused on reliability, security,
and speed using the musl libc and a special version of fortify-headers
created for that libc.  This fortification has caused an illegal memcpy
in the test suite, in nlattr.c: on 64-bit platforms, 'unsigned int' can
be 64-bits, while nlhdrmsg's msg_len is a __u32 in linux/netlink.h.

The attached patch fixes this by declaring msg_len as uint32_t instead
of unsigned int.

Best,
--arw

-- 
A. Wilcox (awilfox)
Project Lead, Adélie Linux
http://adelielinux.org
--- strace-4.18/tests/nlattr.c.old        2017-07-05 07:08:09.000000000 +0000
+++ strace-4.18/tests/nlattr.c    2017-08-17 00:25:26.734218699 +0000
@@ -61,7 +61,7 @@
        };
        struct msg *msg;
        struct nlattr *nla;
-       unsigned int msg_len;
+       uint32_t msg_len;
        long rc;
 
        /* fetch fail: len < sizeof(struct nlattr) */
@@ -259,7 +259,7 @@
        };
        struct msg *msg;
        struct nlattr *nla;
-       unsigned int msg_len;
+       uint32_t msg_len;
        long rc;
 
        msg_len = NLMSG_SPACE(sizeof(msg->udm)) + sizeof(*nla);

Attachment: signature.asc
Description: OpenPGP digital signature

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Strace-devel mailing list
Strace-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/strace-devel

Reply via email to