Age | Commit message (Collapse) | Author |
|
function old new delta
whoami_main 34 37 +3
logname_main 60 63 +3
hostid_main 35 38 +3
ttysize_main 136 135 -1
nmeter_main 673 672 -1
logger_main 387 386 -1
uuencode_main 330 328 -2
ifupdown_main 2125 2123 -2
mesg_main 158 155 -3
free_main 333 330 -3
cal_main 902 899 -3
acpid_main 443 440 -3
ar_main 196 189 -7
find_main 476 467 -9
ifconfig_main 1235 1221 -14
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 3/12 up/down: 9/-49) Total: -40 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
function old new delta
xgetpwuid - 27 +27
uid2uname_utoa - 22 +22
gid2group_utoa - 22 +22
uid2uname - 18 +18
gid2group - 18 +18
buffer_fill_and_print 179 196 +17
print_user 12 24 +12
print_group 12 24 +12
get_cached 89 99 +10
...
print_common 134 120 -14
vlock_main 415 396 -19
logger_main 410 387 -23
crontab_main 642 609 -33
bb_getpwuid 42 - -42
bb_getgrgid 42 - -42
bb_getug 80 - -80
------------------------------------------------------------------------------
(add/remove: 6/3 grow/shrink: 9/11 up/down: 187/-296) Total: -109 bytes
|
|
|
|
|
|
|
|
ifup: don't remove virtual iface prefixes (eth0:0)
function old new delta
shbuf 4 - -4
SMrup 6 - -6
SMrdn 12 - -12
static.label_buf 20 4 -16
get_var 158 140 -18
------------------------------------------------------------------------------
(add/remove: 0/3 grow/shrink: 0/2 up/down: 0/-56) Total: -56 bytes
text data bss dec hex filename
783501 962 9260 793723 c1c7b busybox_old
783483 942 9244 793669 c1c45 busybox_unstripped
|
|
EXTERNALLY_VISIBLE. 5% size reduction of libbusybox.so
|
|
|
|
(add/remove: 0/0 grow/shrink: 12/131 up/down: 91/-727) Total: -636 bytes
text data bss dec hex filename
773469 1058 11092 785619 bfcd3 busybox_old
772644 1058 11092 784794 bf99a busybox_unstripped
|
|
comment thoroughly when they die and when they dont.
|
|
tr: stop using globals needlessly.
code: -103 bytes
|
|
*: s/include "busybox.h"/include "libbb.h"
|
|
no preceding prototype
|
|
are perfectly okay, don't convert them to RESERVE_CONFIG_BUFFERs.
|
|
|
|
logger: optimize, also use bb_common_bufsiz1 (~40 bytes)
tested to eat arbitrarily-sized input at high speed - ok
|
|
|
|
It is impossible to formulate sane ABI based on
size of ulong because it can be 32-bit or 64-bit.
Basically it means that you cannot portably use
more that 32 option chars in one call anyway...
Make it explicit.
|
|
|
|
~100 bytes according to bloatcheck. Also this fixes bug in rpm
|
|
and eventual platform specific includes in early.
|
|
definitions. (That should only be on prototypes.)
|
|
my_getpwnam -> bb_xgetpwnam /* dies on error */
my_getgrnam -> bb_xgetgrnam /* dies on error */
my_getgrgid -> bb_getgrgid
my_getpwuid -> bb_getpwuid
my_getug -> bb_getug
|
|
openlog() as the correct facility will be specified with syslog()
anyway.
|
|
Hi,
I've spent the half night staring at the devilish my_getpwuid and my_getgrgid functions
trying to find out a way to avoid actual and future potential buffer overflow problems
without breaking existing code.
Finally I've found a not intrusive way to do this that surely doesn't break existing code
and fixes a couple of problems too.
The attached patch:
1) changes the behaviour of my_getpwuid and my_getgrgid to avoid potetntial buffer overflows
2) fixes all occurences of this function calls in tar.c , id.c , ls.c, whoami.c, logger.c, libbb.h.
3) The behaviour of tar, ls and logger is unchanged.
4) The behavior of ps with somewhat longer usernames messing up output is fixed.
5) The only bigger change was the increasing of size of the buffers in id.c to avoid
false negatives (unknown user: xxxxxx) with usernames longer than 8 chars.
The value i used ( 32 chars ) was taken from the tar header ( see gname and uname).
Maybe this buffers can be reduced a bit ( to 16 or whatever ), this is up to you.
6) The increase of size of the binary is not so dramatic:
size busybox
text data bss dec hex filename
239568 2300 36816 278684 4409c busybox
size busybox_fixed
text data bss dec hex filename
239616 2300 36816 278732 440cc busybox
7) The behaviour of whoami changed:
actually it prints out an username cut down to the size of the buffer.
This could be fixed by increasing the size of the buffer as in id.c or
avoid the use of my_getpwuid and use getpwuid directly instead.
Maybe this colud be also remain unchanged......
Please apply if you think it is ok to do so.
The diff applies on today's cvs tarball (2004-08-25).
Thanks in advance,
Ciao,
Tito
|
|
|
|
|
|
|
|
|
|
Hi, Erik.
my_getpw(uid/gid) and applets used it have problem:
if username for uid not found, applets can`t detect it
(but code pessent). Also "%8ld " format is bad:
spaces not required (applets have self format
or spec format (tar applet) and overflow for "id" applet...)
This problem also pressent in stable version.
Patch for unstable in attach.
--w
vodz
|
|
-Erik
|
|
|
|
make busybox be more uClinux friendly. I also adjusted Config.h for
uClinux so it will automagically disable apps the arn't going to
work without fork() and such.
-Erik
|
|
klogd (as it should be).
|
|
header file usage before the 0.49 release. To fix it, I had to move
the '#include "busybox.h"' to the end of the list of #include files.
-Erik
|
|
done by Evin Robertson (bug#1105) and work from Manuel to make
usage messages occupy less space and simplify how usage messages
are displayed.
|
|
|
|
a release. Update the website with release details.
-Erik
|
|
busybox.h which slowed compiles. I left only what was needed and then fixed up
all the apps to include their own header files. I also fixed naming for pwd.h
and grp.h functions. Tested to compile and run with libc5, glibc, and uClibc.
-Erik
|
|
|
|
|
|
a pointer that was not yet malloced mem.
|
|
|
|
|
|
compliant with the style guide. Everybody rebuild your tags file!
|
|
strings from being passed to syslog(3).
|
|
the advertising clause has been retroactivly declared null and void.
|
|
|
|
-Erik
|
|
-Erik
|