[PATCH] fixup! setenv: align with POSIX in handling of setenv(var, "")
Ahmad Fatoum
a.fatoum at pengutronix.de
Mon Nov 16 03:58:48 EST 2020
Hello,
On 16.11.20 09:21, Sascha Hauer wrote:
> On Fri, Nov 13, 2020 at 09:26:00AM +0100, Ahmad Fatoum wrote:
>> Previously setenv xxx= deleted x like xxx= does. With xxx= now instead
>> assigning the empty string, setenv xxx= should too.
>>
>> Signed-off-by: Ahmad Fatoum <a.fatoum at pengutronix.de>
>>
>> ---
>> commands/setenv.c | 3 +--
>> 1 file changed, 1 insertion(+), 2 deletions(-)
>>
>> diff --git a/commands/setenv.c b/commands/setenv.c
>> index 6992f604f513..9aeb8f010bc5 100644
>> --- a/commands/setenv.c
>> +++ b/commands/setenv.c
>> @@ -18,8 +18,7 @@ static int do_setenv(int argc, char *argv[])
>> equal = strrchr(argv[1], '=');
>> if (equal) {
>> equal[0] = '\0';
>> - if (equal[1])
>> - argv[2] = &equal[1];
>> + argv[2] = &equal[1];
>> }
>
> Fine with me, but I just had a second look at fbf145dc86 ("commands: setenv:
> support setenv dev.var=VAL syntax"). This patch introduced using argv[2]
> when argc was only to, thus only argv[0] and argv[1] are valid. I wonder
> if this is allowed. KAsan doesn't complain, but still I think this
> should be changed. Could you do this before further modifying this?
barebox always has argv[argc] = NULL, so just like standard C, accessing
argv[2] here is fine.
See
common/parser.c:29: argv[nargs] = NULL;
common/hush.c:698: pglob->gl_pathv[pathc] = NULL;
lib/glob.c:398: pglob->gl_pathv[pglob->gl_pathc] = NULL;
lib/glob.c:232: pglob->gl_pathv[pglob->gl_pathc] = NULL;
Cheers,
Ahmad
>
> Sascha
>
--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
More information about the barebox
mailing list