Re: [PATCH v3] blkparse: Fix a potential coredump issue

Jens Axboe <[email protected]> Thu, 20 Mar 2025 05:07:18 -0600
Newsgroups org.kernel.vger.linux-btrace
Message-ID <[email protected]>
On 3/19/25 7:49 PM, [email protected] wrote:
> From: Kou Wenqi <[email protected]>
> 
> On 3/19/25 7:10 AM, [email protected] wrote:
>> Nit picking, but the idiomatic way would be to make it calloc(size, 1)
>> not the other way around. The first one is the size, the 2nd one is the
>> number of them.
> 
> Thank you for reviewing the patch!
> I wanted to double-check the calloc usage
> to ensure alignment with the project's conventions. 
> The man page defines calloc as:
> void *calloc(size_t nmemb, size_t size); 
> where nmemb is the number of elements, and size is the size of each element.
> In the submitted code, 
> split = calloc(1, sizeof(*iot)) follows this order: nmemb=1 and size=sizeof(...). 
> I also reviewed existing code in blktrace and saw consistent usage like calloc(1, size), 
> which matches the man page’s parameter order.
> Could you clarify if there’s a specific reason or project-specific idiom
> for reversing the parameters (e.g., calloc(size, 1) instead)?
> I’m happy to adjust it if there’s a stylistic preference or guideline I’ve overlooked.
> Thanks again for your guidance!

You are right, I was apparently smoking crack there for a second!

-- 
Jens Axboe