From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: multipart/mixed; boundary="===============2420484075913913186==" MIME-Version: 1.0 From: Chih-Hung Hsieh To: elfutils-devel@lists.fedorahosted.org Subject: Re: [PATCH] Do without on-stack variable length arrays. Date: Fri, 04 Sep 2015 14:43:49 -0700 Message-ID: In-Reply-To: 20150904205200.0308F2C3B20@topped-with-meat.com --===============2420484075913913186== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Yes, I shall correct the description. Is there some simple way that I can test elfutils with fortify or bound checking tools? How about using pointers and malloc or alloca, and indexing through the pointers? That should avoid complaints from stronger bound checkers, although static bound checking probably won't find bound error either. Or is there other pattern preferred by elfutils? On Fri, Sep 4, 2015 at 1:51 PM, Roland McGrath wro= te: > This is misstated. VLAs are a standard feature. What you're avoiding he= re > is VLA members of structs and unions, which are a GNU extension. > > I also don't think you're doing it the ideal way. A union of two arrays = of > length one is useless. It might trigger complaints from _FORTIFY_SOURCE > or other such bounds-checking tools. > --===============2420484075913913186== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGRpdiBkaXI9Imx0ciI+WWVzLCBJIHNoYWxsIGNvcnJlY3QgdGhlIGRlc2NyaXB0aW9uLjxkaXY+ PGJyPjwvZGl2PjxkaXY+SXMgdGhlcmUgc29tZSBzaW1wbGUgd2F5IHRoYXQgSSBjYW4gdGVzdCBl bGZ1dGlscyB3aXRoIGZvcnRpZnkgb3IgYm91bmQgY2hlY2tpbmcgdG9vbHM/PGRpdj48YnI+PC9k aXY+PGRpdj5Ib3cgYWJvdXQgdXNpbmcgcG9pbnRlcnMgYW5kIG1hbGxvYyBvciBhbGxvY2EsIGFu ZCBpbmRleGluZyB0aHJvdWdoIHRoZSBwb2ludGVycz8gVGhhdCBzaG91bGQgYXZvaWQgY29tcGxh aW50cyBmcm9tIHN0cm9uZ2VyIGJvdW5kIGNoZWNrZXJzLDwvZGl2PjxkaXY+YWx0aG91Z2ggc3Rh dGljIGJvdW5kIGNoZWNraW5nIHByb2JhYmx5IHdvbiYjMzk7dCBmaW5kIGJvdW5kIGVycm9yIGVp dGhlci48L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2Pk9yIGlzIHRoZXJlIG90aGVyIHBhdHRlcm4g cHJlZmVycmVkIGJ5IGVsZnV0aWxzPzwvZGl2PjxkaXY+PGJyPjwvZGl2PjwvZGl2PjwvZGl2Pjxk aXYgY2xhc3M9ImdtYWlsX2V4dHJhIj48YnI+PGRpdiBjbGFzcz0iZ21haWxfcXVvdGUiPk9uIEZy aSwgU2VwIDQsIDIwMTUgYXQgMTo1MSBQTSwgUm9sYW5kIE1jR3JhdGggPHNwYW4gZGlyPSJsdHIi PiZsdDs8YSBocmVmPSJtYWlsdG86cm9sYW5kQGhhY2suZnJvYi5jb20iIHRhcmdldD0iX2JsYW5r Ij5yb2xhbmRAaGFjay5mcm9iLmNvbTwvYT4mZ3Q7PC9zcGFuPiB3cm90ZTo8YnI+PGJsb2NrcXVv dGUgY2xhc3M9ImdtYWlsX3F1b3RlIiBzdHlsZT0ibWFyZ2luOjAgMCAwIC44ZXg7Ym9yZGVyLWxl ZnQ6MXB4ICNjY2Mgc29saWQ7cGFkZGluZy1sZWZ0OjFleCI+VGhpcyBpcyBtaXNzdGF0ZWQuwqAg VkxBcyBhcmUgYSBzdGFuZGFyZCBmZWF0dXJlLsKgIFdoYXQgeW91JiMzOTtyZSBhdm9pZGluZyBo ZXJlPGJyPgppcyBWTEEgbWVtYmVycyBvZiBzdHJ1Y3RzIGFuZCB1bmlvbnMsIHdoaWNoIGFyZSBh IEdOVSBleHRlbnNpb24uPGJyPgo8YnI+CkkgYWxzbyBkb24mIzM5O3QgdGhpbmsgeW91JiMzOTty ZSBkb2luZyBpdCB0aGUgaWRlYWwgd2F5LsKgIEEgdW5pb24gb2YgdHdvIGFycmF5cyBvZjxicj4K bGVuZ3RoIG9uZSBpcyB1c2VsZXNzLsKgIEl0IG1pZ2h0IHRyaWdnZXIgY29tcGxhaW50cyBmcm9t wqAgX0ZPUlRJRllfU09VUkNFPGJyPgpvciBvdGhlciBzdWNoIGJvdW5kcy1jaGVja2luZyB0b29s cy48YnI+CjwvYmxvY2txdW90ZT48L2Rpdj48YnI+PC9kaXY+Cg== --===============2420484075913913186==--