[OpenWrt-Devel] [PATCH 2/5] utils: refine calloc_a a bit.
Felix Fietkau
nbd at openwrt.org
Fri Jun 5 11:06:42 EDT 2015
On 2015-06-05 17:03, Yousong Zhou wrote:
>
> On Jun 5, 2015 3:14 PM, "Felix Fietkau" <nbd at openwrt.org
> <mailto:nbd at openwrt.org>> wrote:
>>
>> On 2015-06-04 15:41, Yousong Zhou wrote:
>> > - Return early on calloc() failure.
>> > - Correct comment text for __calloc_a().
>> >
>> > Signed-off-by: Yousong Zhou <yszhou4tech at gmail.com
> <mailto:yszhou4tech at gmail.com>>
>> > ---
>> > utils.c | 4 ++++
>> > utils.h | 6 +++---
>> > 2 files changed, 7 insertions(+), 3 deletions(-)
>> >
>> > diff --git a/utils.c b/utils.c
>> > index 8fd19f4..627b0f6 100644
>> > --- a/utils.c
>> > +++ b/utils.c
>> > @@ -43,6 +43,10 @@ void *__calloc_a(size_t len, ...)
>> > va_end(ap1);
>> >
>> > ptr = calloc(1, alloc_len);
>> > + if (!ptr) {
>> > + va_end(ap);
>> > + return NULL;
>> > + }
>> What's the point? The return value without this check will be NULL
>> anyway, and optimizing a rare error case does not seem useful to me.
>>
>
> rare case indeed, also a trivial change. null check is for
> correctness. it also seems to me assigning invalid pointer values to
> output arguments is not right. well, my 2 cents :)
Well, the way you implemented it, the output argument values will be
undefined, which is not significantly better :)
- Felix
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
More information about the openwrt-devel
mailing list