Re: BUG #15150: Reading uninitialised value in NISortAffixes (tsearch/spell.c) - Mailing list pgsql-bugs

From Tom Lane
Subject Re: BUG #15150: Reading uninitialised value in NISortAffixes (tsearch/spell.c)
Date
Msg-id 23884.1523571243@sss.pgh.pa.us
Whole thread Raw
In response to Re: BUG #15150: Reading uninitialised value in NISortAffixes(tsearch/spell.c)  (Arthur Zakirov <a.zakirov@postgrespro.ru>)
Responses Re: BUG #15150: Reading uninitialised value in NISortAffixes(tsearch/spell.c)  (Arthur Zakirov <a.zakirov@postgrespro.ru>)
List pgsql-bugs
Arthur Zakirov <a.zakirov@postgrespro.ru> writes:
>> It looks that the following condition in NISortAffixes(IspellDict *Conf)
>> uses uninitialised ptr->issuffix:
>> if (ptr == Conf->CompoundAffix ||
>> ptr->issuffix != (ptr - 1)->issuffix ||
 
> Yes, you are right. The second condition isn't right. Instead of
> "ptr->issuffix != (ptr - 1)->issuffix" "Affix->type" should be checked
> because we check for uniqueness of affixes.

Yeah, existing code is clearly wrong, patch looks OK, will push.

But I see from the code coverage report that this bit is unexercised
in the regression tests.  Any chance of getting a test that covers
this?  I'm worried that this means we also lack any coverage of
cases where the CompoundAffix array has more than one entry.

            regards, tom lane


pgsql-bugs by date:

Previous
From: PG Bug reporting form
Date:
Subject: BUG #15151: Error with wal replay after planned manual switchover.
Next
From: Michael Paquier
Date:
Subject: Re: BUG #15151: Error with wal replay after planned manualswitchover.