sysctl: allow setting empty values

function                                             old     new   delta
sysctl_act_on_setting                                451     445      -6

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
Denys Vlasenko 2019-02-08 14:02:59 +01:00
parent df4e3af9f7
commit 317498f3b3

View File

@ -119,14 +119,16 @@ static int sysctl_act_on_setting(char *setting)
if (cptr) if (cptr)
writing = 1; writing = 1;
if (writing) { if (writing) {
if (cptr == NULL) { if (!cptr) {
bb_error_msg("error: '%s' must be of the form name=value", bb_error_msg("error: '%s' must be of the form name=value",
outname); outname);
retval = EXIT_FAILURE; retval = EXIT_FAILURE;
goto end; goto end;
} }
value = cptr + 1; /* point to the value in name=value */ value = cptr + 1; /* point to the value in name=value */
if (setting == cptr || !*value) { if (setting == cptr /* "name" can't be empty */
/* || !*value - WRONG: "sysctl net.ipv4.ip_local_reserved_ports=" is a valid syntax (clears the value) */
) {
bb_error_msg("error: malformed setting '%s'", outname); bb_error_msg("error: malformed setting '%s'", outname);
retval = EXIT_FAILURE; retval = EXIT_FAILURE;
goto end; goto end;