git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] xdiff/xprepare: initialise xdlclassifier_t cf in xdl_prepare_env()

From
Junio C Hamano <gitster@pobox.com>
Date
Aug 31, 2011, 17:03 UTC
Message-ID
<7vaaapzf6f.fsf@alter.siamese.dyndns.org>
In-Reply-To
<7vei01zf89.fsf@alter.siamese.dyndns.org>
Junio C Hamano <gitster@pobox.com> writes:
Show 26 quoted lines
> Tay Ray Chuan <rctay89@gmail.com> writes:
>
>> Ensure that the xdl_free_classifier() call on xdlclassifier_t cf is safe
>> even if xdl_init_classifier() isn't called. This may occur in the case
>> where diff is run with --histogram and a call to, say, xdl_prepare_ctx()
>> fails.
>>
>> Signed-off-by: Tay Ray Chuan <rctay89@gmail.com>
>
> Thanks. Did you find this by code inspection?
>
>>  xdiff/xprepare.c |    3 +++
>>  1 files changed, 3 insertions(+), 0 deletions(-)
>>
>> diff --git a/xdiff/xprepare.c b/xdiff/xprepare.c
>> index 620fc9a..4323596 100644
>> --- a/xdiff/xprepare.c
>> +++ b/xdiff/xprepare.c
>> @@ -239,6 +239,9 @@ int xdl_prepare_env(mmfile_t *mf1, mmfile_t *mf2, xpparam_t const *xpp,
>>  	long enl1, enl2, sample;
>>  	xdlclassifier_t cf;
>>  
>> +	cf.rchash = NULL;
>> +	cf.ncha.head = NULL;
>
> Would it be more appropriate to use memcpy(&cf, 0, sizeof(cf)) instead, so
Oops, I meant memset(), obviously.
> that we wouldn't have to worry about a similar breakage when a new field
> is added to "struct xdlclassifier" later?
Previous: Junio C HamanoNext: Tay Ray Chuan
Message 3 of 4 in “xdiff/xprepare: initialise xdlclassifier_t cf in xdl_prepare_env()”
  1. xdiff/xprepare: initialise xdlclassifier_t cf in xdl_prepare_env()Tay Ray Chuan, Aug 31, 2011
  2. Junio C HamanoAug 31, 2011
  3. Junio C HamanoAug 31, 2011
  4. xdiff/xprepare: initialise xdlclassifier_t cf in xdl_prepare_env()Tay Ray Chuan, Sep 2, 2011

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.