On 17 November 2013 18:25, Dominic News wrote: > In the following code (from xorg-server) > > if (a == 0) > addr = 0; > (...) > memset(addr, '\0', a); > > the path for a==0 is turned into a trap by -fisolate-erroneous-paths. (Is > calling memset like this undefined behaviour?)
Yes. 7.23.1 in the C standard says that even with a zero size the pointer argument must be valid.