El mar., 7 ene. 2020 a las 2:59, brian m. carlson (<sandals@xxxxxxxxxxxxxxxxxxxx>) escribió: > > On 2020-01-07 at 01:08:09, brian m. carlson wrote: > > Unfortunately, compilers have gotten much more aggressive about assuming > > that undefined behavior never occurs and rewriting code based on that. > > clang is not as bad about doing that, but GCC is very aggressive about > > it. There are multiple instances where NULL pointer checks have been > > optimized out because the compiler exploited undefined behavior to > > assume a pointer was never NULL. > > > > In this case, the only case in which we can safely assume that this > > behavior is acceptable is that r is NULL, in which case C11 tells us > > that "no action occurs" due to the free. So the compiler could just > > optimize this out to a "return 0". Just because it doesn't now doesn't > > mean we can assume it won't in the future, so we do need to fix this. > > > > I'll send a patch. > > Oof, I just realized that you had tagged this with "[Outreachy]", which > means that you were probably planning on sending a patch to fix this, > and then I went and did it instead, so let me apologize for doing that. > Sorry for my late reply, but I have been traveling all day. Don't worry Brian, I am working on finishing bisect-helper conversion from shell to C. I am planning to send a patch related with this function as part of a patch series. My patch only changes the static header to be used in bisect related files. My mentor (Christian Couder) detected this and suggested me to ask the community. > I sent it because oftentimes we say "we should fix this thing" and then > never do it because nobody sends a patch, but in this case I should have > paid more attention and waited for you to respond and send one instead. > Don't worry again, next time if my question is related to a patch I am going to send I will actively write it and this way there will be no confusion. :) > Again, sorry about that. > -- > brian m. carlson: Houston, Texas, US > OpenPGP: https://keybase.io/bk2204