Hi,

W dniu 19.10.2020 o 09:46, Ori Kam pisze:
> Hi Ophir,
>
>> -----Original Message-----
>> From: Ophir Munk <ophi...@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: sta...@dpdk.org
>>
>> Signed-off-by: Ophir Munk <ophi...@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 <or...@nvidia.com>
Acked-by: Lukasz Wojciechowski <l.wojciec...@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.wojciec...@partner.samsung.com

Reply via email to