Re: [PATCH v2] for_each_string_list_item: avoid undefined behavior for empty list

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sep 20 2017, Jonathan Nieder <jrnieder@xxxxxxxxx> wrote:

> Andreas Schwab wrote:
>> On Sep 19 2017, Jonathan Nieder <jrnieder@xxxxxxxxx> wrote:
>
>>> B. #define for_each_string_list_item(item, list) \
>>> 	if (list->items) \
>>> 		for (item = ...; ...; ... )
>>>
>>>    This breaks a caller like
>>> 	if (foo)
>>> 		for_each_string_list_item(item, list)
>>> 			...
>>> 	else
>>> 		...
>>>
>>>    making it a non-starter.
>>
>> That can be fixed with a dangling else.
>
> I believe the fix you're referring to is option C, from the same email
> you are replying to.  If not, please correct me.

A variant thereof, yes.

Andreas.

-- 
Andreas Schwab, schwab@xxxxxxxxxxxxxx
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux