Mike Frysinger <vap...@gentoo.org> wrote on 2010/10/22 19:06:14: > > On Friday, October 22, 2010 12:40:07 Joakim Tjernlund wrote: > > Mike Frysinger wrote on 2010/10/22 17:18:05: > > > On Friday, October 22, 2010 04:34:52 Joakim Tjernlund wrote: > > > > Don't you want to know if the app screwed up or if the system is out > > > > of memory? > > > > > > > > The only upside to malloc(0) == NULL I can see is an extra check > > > > for apps for which size == 0 is an error to the app too(something the > > > > app should have checked itself long before calling malloc). > > > > > > if an app is doing malloc(0), it is broken. i'm really not worried at > > > all > > > > In your opinion, not mine and not POSIX either. I outlined uses for > > malloc(0) earlier. > > i havent seen any realistic usage examples. the only ones you quoted could > easily be solved in a different way assuming they were even affected by > malloc(0).
Scott was kind to provide an example(thanks Scott). I never said it wasn't possible to workaround malloc(0) == NULL, I say that you should not have to. > > > > about detecting OOM state. my real world experience thus far has shown > > > no actual problems with this behavior. so unless you have some actual > > > examples where this behavior "harms" u-boot, i say we merge the OP's > > > patch. > > > > Since you think an app is broken if it does malloc(0), it should not matter > > what malloc(0) returns to you. You only gain an extra error check for the > > broken app at the expense of ease of use and sane error checking in > > general. > > more like you notice that the code is broken right away. the few times i have > seen a malloc(0), it was do to errors elsewhere in the code and once those > were fixed, malloc() wasnt called with a size 0. > > > I prefer not to make it easier for broken apps when it hurts elsewhere. > > funny, i can use the same logic to ban malloc(0). it makes you notice & fix > errors without penalties. Not quite, first you should show that there aren't any uses for malloc(0) != NULL as I have done Actually POSIX doesn't say that malloc(0) is an error: Upon successful completion with size not equal to 0, malloc() shall return a pointer to the allocated space. If size is 0, either a null pointer or a unique pointer that can be successfully passed to free() shall be returned. Otherwise, it shall return a null pointer and set errno to indicate the error. it only say that you can chose to return NULL or an unique ptr. I don't think it is any value debating this any more though. You have your view and I got mine. > > > Ah, IT changed some settings globally. I changed it back. I hope this reply > > is better. > > yes, this is much better. thanks ! Great, I really hate it when replies gets mangled too _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot