|
From: | Paul Eggert |
Subject: | Re: clang's Undefined Sanitizer |
Date: | Tue, 22 Aug 2017 14:34:49 -0700 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 |
On 08/22/2017 10:39 AM, Adhemerval Zanella wrote:
In fact I decided to *not* sync flexmember because with following patch I intend to send (which are in the original thread) make flexmember unnecessary.
I see that you sent these proposed patches to glibc glob in the thread starting here:
https://sourceware.org/ml/libc-alpha/2017-08/msg01079.htmland I am looking into merging that into Gnulib glob. However, I don't see why the patch makes flexmember unnecessary. Even with that patch, there is still a datatype 'struct globnames' that has a fixed-size member array 'names', and the code still indexes the 'names' component past its bounds. That is, the recently-fixed problem is not out-of-bounds access into a local variable; it is out-of-bounds access into either malloc- or alloca-allocated storage, via a pointer to a type that has fixed-size bounds; the C standard does not allow this. So as far as I can see, a fix is still necessary even with your patch.
I'll try to resolve this and come up with a patch to Gnulib, and also with a patch to follow on to your proposed glibc patch. There are several other details that need to be looked at.
[Prev in Thread] | Current Thread | [Next in Thread] |