From: Dmitry V. Levin Date: Fri, 11 Dec 2020 13:00:00 +0000 (+0000) Subject: mmsghdr: workaround -Warray-bounds regression in Red Hat gcc X-Git-Tag: accepted/tizen/unified/20230616.172420^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=5a4d0d3141f531f0e393092c6120d18b478fb1e0;p=platform%2Fupstream%2Fstrace.git mmsghdr: workaround -Warray-bounds regression in Red Hat gcc The version of gcc packaged into Rawhide erroneously produces the following false positive diagnostics: mmsghdr.c: In function 'do_recvmmsg': mmsghdr.c:87:23: error: array subscript 'struct mmsgvec_data[0]' is partly outside array bounds of 'unsigned char[4108]' [-Werror=array-bounds] 87 | data->timeout = xstrdup(timeout); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ Tested with: $ gcc --version |head -1 gcc (GCC) 11.0.0 20201204 (Red Hat 11.0.0-0) * mmsghdr.c (struct mmsgvec_data): Change namelen[IOV_MAX] to an array of zero length. Change-Id: I0bea08bef0937582fbdda9ba7009a7b34251dbd1 --- diff --git a/mmsghdr.c b/mmsghdr.c index 3fede19f..149f88b2 100644 --- a/mmsghdr.c +++ b/mmsghdr.c @@ -71,7 +71,7 @@ free_mmsgvec_data(void *ptr) struct mmsgvec_data { char *timeout; unsigned int count; - int namelen[IOV_MAX]; + int namelen[0]; }; static void