[dpdk-dev] [PATCH v1] app/regex: fix segfault in getopt_long call

Lukasz Wojciechowski l.wojciechow at partner.samsung.com
Mon Oct 19 10:13:02 CEST 2020


Hi,

W dniu 19.10.2020 o 09:46, Ori Kam pisze:
> Hi Ophir,
>
>> -----Original Message-----
>> From: Ophir Munk <ophirmu at nvidia.com>
>> Sent: Sunday, October 18, 2020 5:22 PM
>> Subject: [PATCH v1] app/regex: fix segfault in getopt_long call
>>
>> getopt_long() parses command-line arguments. One of its arguments
>> 'longopts' is a pointer to the first element of an array of struct
>> option.  The last element of the array has to be filled with zeros
>> to mark the end of options. For example:
>>
>> struct option longopts[] = {
>> { "help",  0, 0, ARG_HELP},
>> ....
>> /* End of options */
>> { 0, 0, 0, 0 }
>> };
>>
>> This commit adds the last element. Prior to this commit getopt_long()
>> continued parsing beyond the longopts[] array which occasionally caused
>> segmentation faults.
>>
>> Fixes: de06137cb295 ("app/regex: add RegEx test application")
>> Cc: stable at dpdk.org
>>
>> Signed-off-by: Ophir Munk <ophirmu at nvidia.com>
>> ---
>>   app/test-regex/main.c | 4 +++-
>>   1 file changed, 3 insertions(+), 1 deletion(-)
>>
>> diff --git a/app/test-regex/main.c b/app/test-regex/main.c
>> index 0d35f45..e6080b4 100644
>> --- a/app/test-regex/main.c
>> +++ b/app/test-regex/main.c
>> @@ -66,7 +66,9 @@ args_parse(int argc, char **argv, char *rules_file, char
>> *data_file,
>>   		/* Perf test only */
>>   		{ "perf", 0, 0, ARG_PERF_MODE},
>>   		/* Number of iterations to run with perf test */
>> -		{ "nb_iter", 1, 0, ARG_NUM_OF_ITERATIONS}
>> +		{ "nb_iter", 1, 0, ARG_NUM_OF_ITERATIONS},
>> +		/* End of options */
>> +		{ 0, 0, 0, 0 }
>>   	};
>>
>>   	argvopt = argv;
>> --
>> 2.8.4
> Acked-by: Ori Kam <orika at nvidia.com>
Acked-by: Lukasz Wojciechowski <l.wojciechow at partner.samsung.com>
> Thanks,
> Ori

Best regards

Lukasz

-- 
Lukasz Wojciechowski
Principal Software Engineer

Samsung R&D Institute Poland
Samsung Electronics
Office +48 22 377 88 25
l.wojciechow at partner.samsung.com



More information about the dev mailing list