sed: Fix backslash parsing for 'w' command argIf there's any whitespace between w and the filename, parse_file_cmd
writes to the wrong offset when trying to fix up backslashes.
This can be seen in the asan build with busybox sed -e 'w 0\\'
Signed-off-by: Brian Foley <bpfoley@google.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
awk: Fix overly permissive func arg list parsingIt allows things like 'func f(a b)' and 'func f(a,)' which GNU awk forbids.
function old new delta
parse_program 327 367 +40
chain_expr 40 67 +27
parse_expr 891 915 +24
EMSG_TOO_FEW_ARGS ...
awk: Syntax error if delete isn't given an arg.Unlike exit and return, delete strictly requires an arg, and derefs a
null pointer if executed without one.
Signed-off-by: Brian Foley <bpfoley@google.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
awk: Guard pointer chasing when parsing ternary expressions.Avoids an uninit pointer deref for some malformed ternary exprs.
Add a test that would crash in busybox before this fix.
Signed-off-by: Brian Foley <bpfoley@google.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
capability: fix string comparison in cap_name_to_numberThe result of strcasecmp was being used incorrectly. This function
returns 0 if the strings match.
Signed-off-by: Mark Marshall <mark.marshall@omicronenergy.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
wget: don't notify on download begin and end if quietWhen printing notification on download start and end,
mistakenly, it didn't respect the quiet option
function old new delta
retrieve_file_data 561 579 +18
wget_main 2432 2437 +5
----------------------------------------------------------------------------...
start-stop-daemon: create pidfile before parent exits, closes 8596This removes DAEMON_DOUBLE_FORK flag from bb_daemonize_or_rexec(),
as SSD was the only user.
Also includes fix for -S: now works without -a and -x,
does not print pids
(compat with "start-stop-daemon (OpenRC) 0.34.11 (Gentoo Linux)").
function old new delta
start_stop_daemon_main 1018 1084 +66
add_interface ...
bc: zbc_parse_expr_empty_ok() is unused except by zbc_parse_expr(), fold it infunction old new delta
zbc_parse_expr 1865 1848 -17
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
bc: disallow invalid syntax like "{ print 1 print 2 }"statement parsing must NOT eat the terminator: caller needs to know
what it was, to correctly decide whether it is a valid one.
function old new delta
zxc_program_read - 234 +234
zdc_program_printStream - 144 +144
zbc_parse_stmt_possibly_auto ...
passwd: initialize pointers correctlyFix for running passwd as root (or sudo passwd $USER).
Crashed on call to free(orig) during cleanup.
Fix regression from commit 17058a06c4333fc0c492c168c8a971ebd0fd5a5a
Root user never changes the orig pointer, so when cleaning up, passwd tried to
free orig=(char*)""
Example: sudo passwd $USER
Changing password for xxx
New password:
Bad password: too short
Retype password:
Passwords don't matc...
udhcpc: when decoding DHCP_SUBNET, ensure it is 4 bytes longfunction old new delta
udhcp_run_script 795 801 +6
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
telnet: provide feedback after successful connectThe real telnet provides some feedback:
Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '^]'.
We should do this to, because people are sitting there and think
a firewall is dropping packets.
function old new delta
telnet_main 1270 1279 +9
Signed-off-by: Danijel Tasov...
wget: notify on download begin and endWhen using -o to file the progress meter is not displayed, so write that
we started the download and that we finished it.
function old new delta
retrieve_file_data 465 561 +96
wget_main 2412 2432 +20
-------------------------------------------------------...