From: Eugene Syromyatnikov Date: Thu, 10 May 2018 17:33:52 +0000 (+0200) Subject: tests/test_nlattr.h: fix pointer calculation in TEST_NLATTR_ARRAY, take 2 X-Git-Tag: v4.23~88 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=bf15325cd633b42b5bf5e0ed1e77beba27637811;p=strace tests/test_nlattr.h: fix pointer calculation in TEST_NLATTR_ARRAY, take 2 The old code works only when an array contains exactly two items. * tests/test_nlattr.h (TEST_NLATTR_ARRAY): Fix pointer address for the case of incomplete read. --- diff --git a/tests/test_nlattr.h b/tests/test_nlattr.h index 84f99ba0..84125e00 100644 --- a/tests/test_nlattr.h +++ b/tests/test_nlattr.h @@ -310,7 +310,7 @@ print_nlattr(const unsigned int nla_len, const char *const nla_type) } \ printf(", ... /* %p */]}", \ RTA_DATA(TEST_NLATTR_nla) \ - + sizeof((obj_)[0]))); \ + + sizeof(obj_) - sizeof((obj_)[0]))); \ /* sizeof(obj_) */ \ TEST_NLATTR_((fd_), (nlh0_) - NLA_HDRLEN, \ (hdrlen_) + NLA_HDRLEN, \