[PATCH] nss: Add ERANGE testing to tst-nss-test4 (bug 33361)
Carlos O'Donell
carlos@redhat.com
Mon Nov 10 12:50:59 GMT 2025
On 11/7/25 7:41 PM, DJ Delorie wrote:
> "Carlos O'Donell" <carlos@redhat.com> writes:
>>>> - __nss_configure_lookup ("group", "test1 [SUCCESS=merge] test2");
>>>> + /* At least 3 service modules are needed to reproduce BZ#33361. */
>>>> + __nss_configure_lookup ("group", "test1 [SUCCESS=merge] test2 files");
>>>
>>> I'll note that the content of the "files" service is not controlled
>>> here, but given we use "test names" for the groups instead of
>>> likely-to-conflict realistic names, this is probably not an issue.
>>
>> For the test to pass falsely we would need files to contain the data the
>> test was expecting, which is highly unlikely?
>
> Oh right, because we don't have a [] between test2 and files, as long as
> test1 or test2 match the group name, files won't be used at all.
>
>> Only in the scenario where an implementation defect occurs again would we
>> get data from files.
>
> Agreed then. Concern retracted.
>
>> @@ -136,7 +137,8 @@ do_test (void)
>> }
>> merge_1[array_length(group_1) - 1 + member_cnt]= NULL;
>>
>> - align_mask = __alignof__ (struct group *) - 1;
>> + align_mask = __alignof__ (struct group) - 1;
>> + align_mem_mask = __alignof__ (char *) - 1;
>>
>> setgrent ();
>>
>> @@ -151,7 +153,7 @@ do_test (void)
>> printf ("FAIL: [%d] unaligned group %p\n", i, g);
>> ++retval;
>> }
>> - if ((uintptr_t)(g->gr_mem) & align_mask)
>> + if ((uintptr_t)(g->gr_mem) & align_mem_mask)
>
> Yup.
>
> With those changes, LGTM
> Reviewed-by: DJ Delorie <dj@redhat.com>
Pushed (and posted). Than you for the test case review!
--
Cheers,
Carlos.
More information about the Libc-alpha
mailing list