Denys Vlasenko
41d5f800a1
bc: hopefully fix bug 14956 (use-after-free)
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2022-08-18 16:23:55 +02:00
Roger Knecht
20a4f70eca
tree: new applet
...
Adds the tree program to list directories and files in a tree structure.
function old new delta
tree_print - 343 +343
scandir64 - 330 +330
scandir - 330 +330
tree_main - 86 +86
.rodata 105150 105228 +78
packed_usage 34511 34557 +46
alphasort64 - 31 +31
alphasort - 31 +31
strcoll - 5 +5
applet_names 2801 2806 +5
applet_main 1616 1620 +4
applet_suid 101 102 +1
applet_install_loc 202 203 +1
------------------------------------------------------------------------------
(add/remove: 11/0 grow/shrink: 6/0 up/down: 1291/0) Total: 1291 bytes
Signed-off-by: Roger Knecht <rknecht@pm.me>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2022-06-30 17:18:12 +02:00
Denys Vlasenko
67fd6be0bb
seedrng: do not hash in a constant string, it's not adding entropy
...
function old new delta
seedrng_main 906 880 -26
.rodata 104899 104873 -26
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/2 up/down: 0/-52) Total: -52 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2022-05-03 12:48:50 +02:00
Denys Vlasenko
3bfbcb5807
seedrng: restore error check on fsync
...
Or else security people will never stop nagging us.
function old new delta
seedrng_main 884 906 +22
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2022-05-02 15:03:32 +02:00
Denys Vlasenko
5ba56e8b95
seedrng: it's not a part of util-linux, move to miscutils
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2022-05-02 14:53:14 +02:00
Paul Fox
52a7bf6fa6
crond: implement support for setting PATH in crontab files
...
It's very inconvenient for a cron user not to be able to set a
"personal" PATH for their cron jobs, as is possible with other crons
function old new delta
load_crontab 868 942 +74
.rodata 104878 104884 +6
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 2/0 up/down: 80/0) Total: 80 bytes
Signed-off-by: Paul Fox <pgf@foxharp.boston.ma.us>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2022-05-02 12:28:48 +02:00
Denys Vlasenko
987be932ed
*: slap on a few ALIGN_PTR where appropriate
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2022-02-06 20:07:12 +01:00
Denys Vlasenko
ca466f385a
*: slap on a few ALIGN* where appropriate
...
The result of looking at "grep -F -B2 '*fill*' busybox_unstripped.map"
function old new delta
.rodata 108586 108460 -126
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-126) Total: -126 bytes
text data bss dec hex filename
970412 4219 1848 976479 ee65f busybox_old
970286 4219 1848 976353 ee5e1 busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2022-02-06 19:53:10 +01:00
Denys Vlasenko
8ad2acf352
fix "defined but not used" warnings
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2022-01-17 23:59:46 +01:00
Denys Vlasenko
12566e7f9b
ash,hush: fix handling of SIGINT while waiting for interactive input
...
function old new delta
lineedit_read_key 160 237 +77
__pgetc 522 589 +67
fgetc_interactive 244 309 +65
safe_read_key - 39 +39
read_key 588 607 +19
record_pending_signo 23 32 +9
signal_handler 75 81 +6
.rodata 104312 104309 -3
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 6/1 up/down: 282/-3) Total: 279 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2022-01-17 11:46:23 +01:00
Denys Vlasenko
c2788f88f4
libbb: introduce and use chdir_or_warn()
...
function old new delta
chdir_or_warn - 37 +37
send_cgi_and_exit 720 711 -9
xchdir 27 15 -12
setup_environment 233 217 -16
fork_job 449 433 -16
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 0/4 up/down: 37/-53) Total: -16 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2022-01-13 12:56:10 +01:00
Denys Vlasenko
931c55f9e2
libbb: invert the meaning of SETUP_ENV_NO_CHDIR -> SETUP_ENV_CHDIR
...
Double negatives are hard to grok.
function old new delta
login_main 986 988 +2
su_main 474 470 -4
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/1 up/down: 2/-4) Total: -2 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2022-01-13 12:50:48 +01:00
Denys Vlasenko
db5546ca10
libbb: code shrink: introduce and use [_]exit_SUCCESS()
...
function old new delta
exit_SUCCESS - 7 +7
_exit_SUCCESS - 7 +7
run_pipe 1562 1567 +5
pseudo_exec_argv 399 400 +1
finish 86 87 +1
start_stop_daemon_main 1109 1107 -2
shutdown_on_signal 38 36 -2
runsv_main 1662 1660 -2
redirect 1070 1068 -2
read_line 79 77 -2
pause_and_low_level_reboot 54 52 -2
list_i2c_busses_and_exit 483 481 -2
less_exit 12 10 -2
identify 4123 4121 -2
grep_file 1161 1159 -2
getty_main 1519 1517 -2
fsck_minix_main 2681 2679 -2
free_session 132 130 -2
fdisk_main 4739 4737 -2
clean_up_and_exit 53 51 -2
bsd_select 1566 1564 -2
bb_daemonize_or_rexec 198 196 -2
------------------------------------------------------------------------------
(add/remove: 2/0 grow/shrink: 3/17 up/down: 21/-34) Total: -13 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2022-01-05 22:16:06 +01:00
Denys Vlasenko
076f5e064f
less: code shrink
...
function old new delta
restore_tty - 29 +29
less_main 2107 2105 -2
getch_nowait 253 251 -2
buffer_print 614 612 -2
less_exit 51 12 -39
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 0/4 up/down: 29/-45) Total: -16 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2022-01-05 22:04:21 +01:00
Denys Vlasenko
53b2fdcdba
*: add NOINLINEs where code noticeably shrinks
...
function old new delta
display 85 1463 +1378 -73 bytes
select_and_cluster - 1088 +1088 -139 bytes
parse_reply - 979 +979 -109 bytes
zbc_num_sqrt - 632 +632 -191 bytes
show_bridge_port - 585 +585 -56 bytes
sp_256_proj_point_add_8 - 576 +576 -45 bytes
encode_then_append_var_plusminus - 554 +554 -118 bytes
read_mode_db - 537 +537 -47 bytes
fbset_main 1331 747 -584
sp_256_ecc_mulmod_8 1157 536 -621
brctl_main 2189 1548 -641
expand_one_var 2544 1872 -672
zxc_vm_process 6412 5589 -823
send_queries 1813 725 -1088
recv_and_process_peer_pkt 2245 1018 -1227
bb_dump_dump 1531 80 -1451
------------------------------------------------------------------------------
(add/remove: 7/0 grow/shrink: 1/8 up/down: 6329/-7107) Total: -778 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-10-10 13:50:53 +02:00
Ismael Luceno
35727f5741
less: Ignore -X
...
The flag disables termcap init/deinit of the terminal, which the applet
doesn't do anyway.
Signed-off-by: Ismael Luceno <ismael@iodev.co.uk>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-09-28 23:22:47 +02:00
Denys Vlasenko
4b032a4d6c
chat: hopefully fix infinite spinning on input EOF
...
function old new delta
chat_main 1295 1303 +8
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-09-06 17:38:18 +02:00
Denys Vlasenko
34d79c9aa0
ascii: new applet
...
function old new delta
.rodata 103397 103670 +273
ascii_main - 177 +177
applet_names 2739 2745 +6
applet_main 1584 1588 +4
applet_suid 99 100 +1
applet_install_loc 198 199 +1
packed_usage 33716 33713 -3
------------------------------------------------------------------------------
(add/remove: 2/0 grow/shrink: 5/1 up/down: 462/-3) Total: 459 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-06-21 17:52:50 +02:00
Denys Vlasenko
4d4fc5ca5e
man: fix segfault in "man 1"
...
function old new delta
man_main 942 954 +12
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-06-15 14:47:46 +02:00
Denys Vlasenko
e47000490c
shuf: simplify check that we have at least one FILE
...
function old new delta
.rodata 103190 103194 +4
packed_usage 33541 33537 -4
shred_main 354 337 -17
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/2 up/down: 4/-21) Total: -17 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-06-15 10:39:33 +02:00
Denys Vlasenko
1f60d88cf6
*: more --help tweaks
...
function old new delta
packed_usage 33552 33541 -11
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-06-15 10:00:18 +02:00
Denys Vlasenko
e2b9215868
*: --help tweaks
...
function old new delta
packed_usage 33589 33552 -37
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-06-14 20:47:20 +02:00
Denys Vlasenko
6f7b10cdab
*: more --help tweaking
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-06-13 03:51:55 +02:00
Denys Vlasenko
1849285a20
*: more --help tweaks, mostly expanding ts --help
...
function old new delta
packed_usage 33554 33596 +42
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-06-13 03:12:09 +02:00
Denys Vlasenko
6b6826f0b8
*: --help tweaks
...
function old new delta
.rodata 103190 103189 -1
packed_usage 33590 33566 -24
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/2 up/down: 0/-25) Total: -25 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-06-13 01:08:48 +02:00
Denys Vlasenko
aece2c5f0f
bc: tweak overflow detection in a^b
...
function old new delta
zbc_num_p 506 510 +4
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-06-12 14:03:24 +02:00
Denys Vlasenko
e36c39a46d
bc: code shrink: combine init() and copy() where we can
...
function old new delta
bc_num_init_and_copy - 27 +27
zxc_program_popResultAndCopyToVar 495 483 -12
zxc_num_printNum 518 506 -12
zbc_num_p 518 506 -12
zxc_program_assign 357 341 -16
zbc_num_m 298 267 -31
zxc_vm_process 6498 6412 -86
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 0/6 up/down: 27/-169) Total: -142 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-06-12 12:35:15 +02:00
Denys Vlasenko
e5958f7dda
bc: fix for mul overflow in scale calculation in a^b
...
function old new delta
zbc_num_p 516 518 +2
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-06-12 12:19:20 +02:00
Denys Vlasenko
c0943ac451
platform.h: fix for Bionic >= 21 not having wait3()
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-04-14 22:14:36 +02:00
Denys Vlasenko
ba9f9c2d2c
*: --help text tweaks
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-04-14 15:15:45 +02:00
Rasmus Villemoes
50a37459ff
watchdog: make open-write-close-open functionality a config knob
...
The behaviour introduced by commit 31c765081d
("watchdog: stop
watchdog first on startup") causes warnings in the kernel log when the
nowayout feature is enabled:
[ 16.212184] watchdog: watchdog0: nowayout prevents watchdog being stopped!
[ 16.212196] watchdog: watchdog0: watchdog did not stop!
The latter may also appear by itself in case the watchdog is of the
type that cannot be stopped once started (e.g. the common
always-running gpio_wdt kind).
These warnings can be somewhat ominous and distracting, so allow
configuring whether to use this open-write-close-open sequence rather
than just open. Also saves a bit of .text when disabled:
function old new delta
shutdown_on_signal 31 58 +27
watchdog_main 339 306 -33
shutdown_watchdog 34 - -34
------------------------------------------------------------------------------
(add/remove: 0/1 grow/shrink: 1/1 up/down: 27/-67) Total: -40 bytes
Make it default n:
- It's a workaround for one specific type of watchdog (and
that seems to be a defect in the kernel driver)
- Even when not enabled in busybox config, it can easily be
implemented outside busybox
- Code size
- Commit 31c765081d
should be considered a regression for all the
boards that now end up with KERN_CRIT warnings in dmesg.
- The author of that commit said "This use case is evidently rare, so
if it is indeed causing problems for other people I'd OK then I
understand whatever needs to be done." in the v1 thread.
Cc: Matt Spinler <mspinler@linux.vnet.ibm.com>
Cc: deweloper@wp.pl
Cc: tito <farmatito@tiscali.it>
Signed-off-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-04-13 16:05:27 +02:00
Denys Vlasenko
c2bd0b6806
timeout,top,watch,ping: parse NN.N fractional duration in locales with other separators
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-03-23 13:50:02 +01:00
Denys Vlasenko
9b6bcfda0e
bc: typo fix in comment
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-02-26 21:20:18 +01:00
Denys Vlasenko
9037757c5f
dc: more docs in --help
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-02-26 17:11:55 +01:00
Denys Vlasenko
1a37aa7a88
dc: document what non-GNU commands do
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-02-26 14:48:04 +01:00
Denys Vlasenko
ace81cd46c
bc/dc: fix length(0) and length(0.000nnn) result
...
function old new delta
zxc_vm_process 6464 6498 +34
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-02-26 14:23:13 +01:00
Denys Vlasenko
3d88cc1d37
dc: correct --help text
...
before:
Tiny RPN calculator. Operations:
+, -, *, /, %, ~, ^, |,
p - print top of the stack without popping
f - print entire stack
k - pop the value and set the precision
i - pop the value and set input radix
o - pop the value and set output radix
After:
Tiny RPN calculator. Operations:
Arithmetic: + - * / % ^
~ - divide with remainder
| - modular exponentiation
v - square root
p - print top of the stack without popping
f - print entire stack
k - pop the value and set precision
i - pop the value and set input radix
o - pop the value and set output radix
function old new delta
packed_usage 33519 33565 +46
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-02-26 13:32:29 +01:00
Ron Yorston
cad3fc743a
libbb: introduce and use fputs_stdout
...
function old new delta
fputs_stdout - 12 +12
zxc_vm_process 7237 7230 -7
yes_main 85 78 -7
write_block 380 373 -7
wrapf 305 298 -7
strings_main 437 430 -7
show_bridge 353 346 -7
rev_main 384 377 -7
put_prompt_custom 58 51 -7
put_cur_glyph_and_inc_cursor 168 161 -7
print_numbered_lines 152 145 -7
print_named_ascii 130 123 -7
print_name 135 128 -7
print_login_issue 386 379 -7
print_ascii 208 201 -7
powertop_main 1249 1242 -7
od_main 1789 1782 -7
logread_main 518 511 -7
head_main 804 797 -7
display_process_list 1319 1312 -7
cut_main 1002 995 -7
bb_dump_dump 1550 1543 -7
bb_ask_noecho 393 386 -7
baseNUM_main 702 695 -7
expand_main 755 745 -10
dumpleases_main 497 487 -10
write1 12 - -12
putcsi 37 23 -14
print_login_prompt 55 41 -14
paste_main 525 511 -14
cat_main 440 426 -14
print_it 245 230 -15
print_addrinfo 1188 1171 -17
print_rule 770 750 -20
print_linkinfo 842 822 -20
httpd_main 791 771 -20
------------------------------------------------------------------------------
(add/remove: 1/1 grow/shrink: 0/34 up/down: 12/-341) Total: -329 bytes
Signed-off-by: Ron Yorston <rmy@pobox.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-02-03 20:52:40 +01:00
Denys Vlasenko
cc4303f5e6
bc: code shrink
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-01-06 14:00:53 +01:00
Denys Vlasenko
0197fbffb7
bc: ^C on input line exits (unlike ^C during calculations, which does not)
...
function old new delta
xc_read_line 353 344 -9
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-01-04 14:41:20 +01:00
Denys Vlasenko
3c13da3dab
libbb: introduce and use xgettimeofday(), do not truncate 64-bit time_t in shells
...
function old new delta
xgettimeofday - 11 +11
get_local_var_value 280 281 +1
svlogd_main 1323 1322 -1
change_epoch 67 66 -1
timestamp_and_log 461 458 -3
hwclock_main 301 298 -3
fmt_time_bernstein_25 135 132 -3
step_time 331 326 -5
script_main 1207 1202 -5
machtime 34 28 -6
curtime 61 54 -7
ts_main 423 415 -8
nmeter_main 761 751 -10
gettime1900d 67 46 -21
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 1/12 up/down: 12/-73) Total: -61 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2020-12-30 23:48:01 +01:00
Denys Vlasenko
b230ff9d8f
*: use fopen helpers where appropriate
...
function old new delta
finalize 348 343 -5
parse_resolvconf 306 299 -7
list_i2c_busses_and_exit 495 483 -12
bootchartd_main 1091 1076 -15
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/4 up/down: 0/-39) Total: -39 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2020-12-30 00:16:27 +01:00
Denys Vlasenko
29a9043b36
bc,dc: make BC_LINE_LENGTH/DC_LINE_LENGTH more compatible with GNU
...
function old new delta
xc_vm_init 640 682 +42
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2020-12-29 18:52:19 +01:00
Denys Vlasenko
40f9fe2160
bc: placate gcc (it thinks 's' can be uninitialized here)
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2020-12-29 17:02:06 +01:00
Denys Vlasenko
77a51a2709
randomconfig fixes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2020-12-29 16:53:11 +01:00
Denys Vlasenko
1462673dde
man: implement SECTION parameters
...
function old new delta
man_main 807 942 +135
is_section_name - 52 +52
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 1/0 up/down: 187/0) Total: 187 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2020-12-27 16:02:37 +01:00
Denys Vlasenko
00eb23b47a
bc: do not allocate line editing state until needed
...
function old new delta
xc_read_line 324 353 +29
free_line_input_t 34 39 +5
xc_vm_init 656 640 -16
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 2/1 up/down: 34/-16) Total: 18 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2020-12-21 21:36:58 +01:00
Denys Vlasenko
c7b858ff8d
libbb: add and use infrastructure for fixed page size optimization
...
function old new delta
procps_scan 1121 1118 -3
getpagesize 6 - -6
rpm_main 1037 1027 -10
rpm2cpio_main 120 110 -10
ptok 38 21 -17
time_main 1282 1261 -21
mkswap_main 317 278 -39
------------------------------------------------------------------------------
(add/remove: 0/2 grow/shrink: 0/6 up/down: 0/-106) Total: -106 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2020-12-14 18:54:30 +01:00
Denys Vlasenko
5d553bc558
more --help text tweaks
...
function old new delta
packed_usage 33545 33581 +36
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2020-12-13 19:18:28 +01:00
Denys Vlasenko
11f1a2553e
help text tweaks
...
function old new delta
packed_usage 33547 33545 -2
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2020-12-13 19:04:19 +01:00