OSDN Git Service
Elliott Hughes [Wed, 28 Oct 2015 21:41:16 +0000 (14:41 -0700)]
Merge remote-tracking branch 'toybox/master' into HEAD
Rob Landley [Wed, 28 Oct 2015 04:57:08 +0000 (23:57 -0500)]
Use the /proc/self/fd/%d workaround for O_PATH not letting you read xattrs,
inspired by:
https://android-review.googlesource.com/#/c/152663/4/libc/bionic/fgetxattr.cpp
Rob Landley [Wed, 28 Oct 2015 04:12:48 +0000 (23:12 -0500)]
Fix ls error message for chmod -r directories.
Also, if you mkdir "$(echo -e "one\ntwo"); chmod -r one*; ls -q one*
it honors -q.
Rob Landley [Wed, 28 Oct 2015 02:47:24 +0000 (21:47 -0500)]
Install without a mode should use 0755, and check FLAG_preserve instead of
the global so "install -g 0" doesn't alias to "cp --preserve 0" and error out.
through to --preserve 0"
Rob Landley [Tue, 27 Oct 2015 10:58:19 +0000 (05:58 -0500)]
Replace xcount_cpus() with a call to sysconf(_SC_NPROCESSORS_CONF)
Rob Landley [Sun, 25 Oct 2015 21:50:03 +0000 (16:50 -0500)]
Add xcount_cpus()
Rob Landley [Sun, 25 Oct 2015 12:48:24 +0000 (07:48 -0500)]
Add comma_args() and factor out parse_o(), parse_t(), and parse_p() to use it.
Fix FLAG_w.
Rob Landley [Sun, 25 Oct 2015 11:33:21 +0000 (06:33 -0500)]
Factor out parse_o() and make -l -f and default output work on strings
rather than bitfields.
Rob Landley [Sun, 25 Oct 2015 10:39:04 +0000 (05:39 -0500)]
More ps work, and fill out remaining help text.
Fix more l/r justification, implement uname vsz vsize and stat.
Elliott Hughes [Fri, 23 Oct 2015 17:54:07 +0000 (10:54 -0700)]
Fix netstat build warnings.
Fixes two instances of "warning: use of logical '&&' with constant operand".
Change-Id: I2bb1ba4e389f8a9e54af8ee3ab23d8849fc329f0
Rob Landley [Fri, 23 Oct 2015 20:12:14 +0000 (15:12 -0500)]
More ps work: move l/r justification to widths[], add RUID/RGID, implement PGID,
plus tty detection fix from Elliott Hughes.
Elliott Hughes [Fri, 23 Oct 2015 18:10:39 +0000 (11:10 -0700)]
Switch to toybox df.
Change-Id: Idbaa672685d548dc642b10af5ff3027d9eb48103
Elliott Hughes [Fri, 23 Oct 2015 17:44:33 +0000 (10:44 -0700)]
Regenerate generated files.
Change-Id: Ib50794cf0fd5df93f903c66e9e4bd3b52458e1b1
Elliott Hughes [Fri, 23 Oct 2015 17:41:33 +0000 (10:41 -0700)]
Merge remote-tracking branch 'toybox/master' into HEAD
Yeongdeok Suh [Fri, 23 Oct 2015 08:03:57 +0000 (17:03 +0900)]
fix dhcpd warning
Elliott Hughes [Thu, 22 Oct 2015 23:35:33 +0000 (18:35 -0500)]
Auto-size df columns.
On Android, the filesystem column is pretty wide. Actually measure the widths.
Rob Landley [Wed, 21 Oct 2015 18:16:55 +0000 (13:16 -0500)]
Make ps.c whitespace consistent.
(Assignment has spaces around operator, comparison doesn't.)
Rob Landley [Wed, 21 Oct 2015 18:00:59 +0000 (13:00 -0500)]
ps: implement -t, remove leading 0 from ETIME days, implement -o GROUP,GID,PCPU
Rob Landley [Wed, 21 Oct 2015 04:35:06 +0000 (23:35 -0500)]
Move d/h units from %d %D output to default format string.
Rob Landley [Sun, 18 Oct 2015 00:53:02 +0000 (19:53 -0500)]
More ps work, tested up through etime now.
Rob Landley [Sat, 17 Oct 2015 03:55:11 +0000 (22:55 -0500)]
Fix ps display padding (truncation) and adjust -o pri by one.
Rob Landley [Thu, 15 Oct 2015 15:51:01 +0000 (10:51 -0500)]
More ps work, implement -p, correct several -o fields and general alignment.
Alejandro Joya [Wed, 14 Oct 2015 22:50:54 +0000 (17:50 -0500)]
make.sh: missing cflags for config2help
config2help might require extra parameters to be passed to the compiler.
For example it might need an additional header path.
Rob Landley [Mon, 12 Oct 2015 00:04:39 +0000 (19:04 -0500)]
Cleanup pass on pgrep: remove flag_twiddle macros, use 0 constants,
unify some TT.signame tests checking constant value variable initialized to.
Rob Landley [Sat, 10 Oct 2015 06:13:35 +0000 (01:13 -0500)]
"stat -c %T" support (filesystem type names) based on patch from Hyejin Kim.
Elliott Hughes [Tue, 6 Oct 2015 21:46:27 +0000 (21:46 +0000)]
Merge changes Ie1705960,I8b94351f,I661540a9,Id2dbdcab,I1223578c, ...
* changes:
Merge remote-tracking branch 'toybox/master' into HEAD
Decode netlink sockets in lsof.
New command: flock.
Fix bug in od that screwed up position indicator on arm and mips.
Fix allnoconfig. (Exporting HOSTCC before HOSTCC?=cc caused a problem.)
Export makefile variables so you can say "make CROSS_COMPILE=blah-" as well as "CROSS_COMPILE=blah- make".
Minor cleanup and add "MODALIAS" handler (suggested by Isaac Dunham).
Back to chipping away at ps...
Add uClinux analysis to roadmap, and a few other pending changes.
help_exit() tweak.
xvfork went away.
Make defconfig build for nommu.
Another chunk of nommu support, replacing toys.recursion with toys.stacktop.
xexec() is noreturn.
Add xvfork() as a static inline and use it from various places.
The -o /dev/null trick in probing isn't compatible with elf2flt, so use tempfile.
Fix a couple things gcc is too dumb to figure out on its own.
Add find tests.
Elliott Hughes [Tue, 6 Oct 2015 21:31:35 +0000 (14:31 -0700)]
Regenerate generated files (and build flock).
Change-Id: Ia7a11e6a130f4b043842d54d86c9bb02f7ee6270
Elliott Hughes [Tue, 6 Oct 2015 21:22:30 +0000 (14:22 -0700)]
Merge remote-tracking branch 'toybox/master' into HEAD
Elliott Hughes [Tue, 6 Oct 2015 12:34:58 +0000 (07:34 -0500)]
Decode netlink sockets in lsof.
Refactor the /proc/net parsing so this only adds 7 lines overall.
Also clear the DEVICE field for sockets and fix alignment for long
usernames (until someone implements the two-pass output that measures
columns).
Elliott Hughes [Tue, 6 Oct 2015 12:19:28 +0000 (07:19 -0500)]
New command: flock.
The brillo folks wanted this in a shell script they're porting over
(so I've only implemented the fd style they wanted, not the named file
style).
Rob Landley [Tue, 6 Oct 2015 03:52:11 +0000 (22:52 -0500)]
Fix bug in od that screwed up position indicator on arm and mips.
Rob Landley [Tue, 6 Oct 2015 01:47:49 +0000 (20:47 -0500)]
Fix allnoconfig. (Exporting HOSTCC before HOSTCC?=cc caused a problem.)
Rob Landley [Sun, 4 Oct 2015 13:44:17 +0000 (08:44 -0500)]
Export makefile variables so you can say "make CROSS_COMPILE=blah-" as well as "CROSS_COMPILE=blah- make".
Rob Landley [Sun, 4 Oct 2015 11:45:08 +0000 (06:45 -0500)]
Minor cleanup and add "MODALIAS" handler (suggested by Isaac Dunham).
Rob Landley [Sat, 3 Oct 2015 17:15:39 +0000 (12:15 -0500)]
Back to chipping away at ps...
Rob Landley [Fri, 2 Oct 2015 12:50:57 +0000 (07:50 -0500)]
Add uClinux analysis to roadmap, and a few other pending changes.
Rob Landley [Tue, 29 Sep 2015 10:32:57 +0000 (05:32 -0500)]
help_exit() tweak.
Rob Landley [Tue, 29 Sep 2015 10:31:02 +0000 (05:31 -0500)]
xvfork went away.
Rob Landley [Tue, 29 Sep 2015 10:09:46 +0000 (05:09 -0500)]
Make defconfig build for nommu.
Adds XVFORK() macro, teaches xpopen_both() to call /proc/self/exe with NULL
argv (and converts cpio -p to use that), adds TOYBOX_FORK guards to some
unconverted commands.
Rob Landley [Sun, 27 Sep 2015 14:03:41 +0000 (09:03 -0500)]
Another chunk of nommu support, replacing toys.recursion with toys.stacktop.
Rob Landley [Thu, 24 Sep 2015 03:45:06 +0000 (22:45 -0500)]
xexec() is noreturn.
Rob Landley [Thu, 24 Sep 2015 03:18:22 +0000 (22:18 -0500)]
Add xvfork() as a static inline and use it from various places.
Note: vfork(), like fork(), can return -1 if too many processes, and
we should notice and fail loudly.
Rob Landley [Thu, 24 Sep 2015 03:10:23 +0000 (22:10 -0500)]
The -o /dev/null trick in probing isn't compatible with elf2flt, so use tempfile.
Rob Landley [Thu, 17 Sep 2015 06:49:48 +0000 (01:49 -0500)]
Fix a couple things gcc is too dumb to figure out on its own.
Elliott Hughes [Mon, 14 Sep 2015 21:27:05 +0000 (21:27 +0000)]
am
92179269: Add a new generated file to .gitignore.
* commit '
92179269fe8bb96a78f42f69a98a728a98afa96a':
Add a new generated file to .gitignore.
Daniel K. Levy [Mon, 14 Sep 2015 21:16:36 +0000 (16:16 -0500)]
Add find tests.
Elliott Hughes [Mon, 14 Sep 2015 18:48:01 +0000 (11:48 -0700)]
Add a new generated file to .gitignore.
Change-Id: If38d74ba591231f80e6857faf9f40eb50df0fbc3
Elliott Hughes [Mon, 14 Sep 2015 18:18:53 +0000 (18:18 +0000)]
am
0d7a388b: Merge remote-tracking branch \'toybox/master\' into HEAD
* commit '
0d7a388b293a18f8b38d74dbcadcdc9b2abcc5fa':
Fix a find segfault.
Replace toys.exithelp with help_exit() in lib.
Elliott Hughes [Mon, 14 Sep 2015 18:00:20 +0000 (11:00 -0700)]
Merge remote-tracking branch 'toybox/master' into HEAD
Elliott Hughes [Mon, 14 Sep 2015 17:59:12 +0000 (17:59 +0000)]
am
4dc6296a: Switch to toybox du.
* commit '
4dc6296a022d2d100233806a0586a03d6fde1a8d':
Switch to toybox du.
Elliott Hughes [Mon, 14 Sep 2015 17:39:33 +0000 (10:39 -0700)]
Switch to toybox du.
Change-Id: I4aa70f46389b1c0edd7623c6348d82f47d9fe042
Rob Landley [Sat, 12 Sep 2015 20:46:46 +0000 (15:46 -0500)]
Fix a find segfault.
Elliott Hughes found a bug https://android-review.googlesource.com/#/c/170020/
and Daniel K. Levy worked out the problem: the user/group/newer arguments
to find weren't consuming their arguments when not checking the results of
their comparison (because an earlier test had already caused their
parenthetical group to fail). This confused the argument parsing logic
and could lead to segfaults.
I applied a different fix that reorganized the existing tests instead of
adding a new test. (Looks like a big commit but it's mostly whitespace
due to extra curly brackets changing indendentation levels.)
Elliott Hughes [Fri, 11 Sep 2015 22:42:36 +0000 (22:42 +0000)]
am
c7bfbbe7: Just use "repo upload".
* commit '
c7bfbbe771178d205ac446d22dcc87cf1421cb1a':
Just use "repo upload".
Elliott Hughes [Fri, 11 Sep 2015 22:08:29 +0000 (15:08 -0700)]
Just use "repo upload".
Put the dangerous command that you want to run second, second.
Change-Id: I0d47f2a81cc2967573d80cbf1ac61d36936c3d06
Elliott Hughes [Fri, 11 Sep 2015 22:14:28 +0000 (22:14 +0000)]
am
77538439: Switch to toybox lsof.
* commit '
77538439679e8592f5cba6ba3c1dffd3e470255b':
Switch to toybox lsof.
Elliott Hughes [Fri, 11 Sep 2015 22:14:11 +0000 (22:14 +0000)]
am
ecd3df97: Fix generated files after upstream sync.
* commit '
ecd3df97a36c0381ec63fca3d0762658e2efa17d':
Fix generated files after upstream sync.
Elliott Hughes [Fri, 11 Sep 2015 22:14:09 +0000 (22:14 +0000)]
am
2738b318: Merge remote-tracking branch \'toybox/master\' into HEAD
* commit '
2738b3182300dabdbbef291175752733ec3f05d5':
Squish more warnings in pending.
Squish a warning in pending.
Fix netstat -e.
i already did -l and -t, the positive side of -p, plus name filtering...
Fix netstat -p.
increase the size of progname to avoid buffer overflow
Remove prompt argument from yesno(), caller can fprintf(stderr, "blah") itself.
Switch HR_SI to HR_1000, make binary the default, make HR_B only affect bytes, and update the tests.
Two large thinkos in oneit: -3 was always enabled and signal numbers were overwritten before we set up signal handlers.
Add seq -f tests, tweak help text, and catch one more error case.
ls -h support.
df -h and -H.
Implement lsof.
Make human_readable() handle base 1024 units without floating point.
Rob Landley [Fri, 11 Sep 2015 21:35:14 +0000 (16:35 -0500)]
Replace toys.exithelp with help_exit() in lib.
Elliott Hughes [Fri, 11 Sep 2015 17:57:33 +0000 (10:57 -0700)]
Switch to toybox lsof.
Change-Id: I3f0d7603de00ef340d97060907dc20aa0288dd77
Elliott Hughes [Fri, 11 Sep 2015 17:50:35 +0000 (10:50 -0700)]
Fix generated files after upstream sync.
Change-Id: Ic4b801cf500ac17c4f7ddbff896edf318e373fcd
Elliott Hughes [Fri, 11 Sep 2015 17:30:13 +0000 (10:30 -0700)]
Merge remote-tracking branch 'toybox/master' into HEAD
Rob Landley [Wed, 9 Sep 2015 04:17:24 +0000 (23:17 -0500)]
Squish more warnings in pending.
Rob Landley [Wed, 9 Sep 2015 04:03:48 +0000 (23:03 -0500)]
Squish a warning in pending.
Elliott Hughes [Wed, 9 Sep 2015 03:52:21 +0000 (22:52 -0500)]
Fix netstat -e.
The -e flag should add "user" and "inode" columns to the TCP output.
Also truncate IP addresses in non-wide (no -W) mode.
This also removes a bit more of the duplication, though there's still
plenty left in this file!
Elliott Hughes [Wed, 9 Sep 2015 03:38:14 +0000 (22:38 -0500)]
i already did -l and -t, the positive side of -p, plus name filtering...
Elliott Hughes [Tue, 8 Sep 2015 15:39:07 +0000 (10:39 -0500)]
Fix netstat -p.
netstat -p was failing for any cmdline longer than 21 characters. (A
typical Chrome render process has about half a kilobyte of cmdline.)
There's still a lot of cleanup to be done later, but this is enough to
fix -p and remove a fair amount of unnecessary custom code into the
bargain.
Lipi Lee [Tue, 8 Sep 2015 10:37:00 +0000 (05:37 -0500)]
increase the size of progname to avoid buffer overflow
Rob Landley [Mon, 7 Sep 2015 22:12:57 +0000 (17:12 -0500)]
Remove prompt argument from yesno(), caller can fprintf(stderr, "blah") itself.
This fixes the build break, the change to yesno() prototype accidentally got
checked in last commit. (Oops, sorry.)
Rob Landley [Mon, 7 Sep 2015 01:10:04 +0000 (20:10 -0500)]
Switch HR_SI to HR_1000, make binary the default, make HR_B only affect bytes,
and update the tests.
Rob Landley [Sat, 5 Sep 2015 19:18:38 +0000 (14:18 -0500)]
Two large thinkos in oneit: -3 was always enabled and signal numbers were
overwritten before we set up signal handlers.
Rob Landley [Sat, 5 Sep 2015 10:46:35 +0000 (05:46 -0500)]
Add seq -f tests, tweak help text, and catch one more error case.
Elliott Hughes [Sat, 5 Sep 2015 10:09:22 +0000 (05:09 -0500)]
ls -h support.
It turns out that people are anticipating the switch to toybox ls from
toolbox ls on the assumption that this will finally bring -h support.
Let's not disappoint.
I've merged two existing buffers in listfiles whose uses didn't
overlap into one. It may be possible to cram this into toybuf with the
other stuff, but it didn't seem worth the extra complexity for 64B of
stack, especially since we were already living with that for time
formatting anyway.
Elliott Hughes [Sat, 5 Sep 2015 10:00:49 +0000 (05:00 -0500)]
df -h and -H.
This doesn't address the lack of support for a variable-width
"Filesystems" column, but it doesn't make the current situation any
worse either.
This is the last of the missing -h options. The other commands with -h
also have --si, but only for df did it get a corresponding short
option (and I've never personally used --si on du or ls, so let's wait
until someone actually cares).
Elliott Hughes [Fri, 4 Sep 2015 01:54:53 +0000 (20:54 -0500)]
Implement lsof.
This is a superset of the current AOSP lsof (which is itself a
superset of the lsof in Android M). It fixes several bugs/misfeatures
and adds support for decoding IPv4/IPv6 tcp/udp/raw sockets and Unix
domain sockets.
Rob Landley [Fri, 4 Sep 2015 01:36:44 +0000 (20:36 -0500)]
Make human_readable() handle base 1024 units without floating point.
Rounds correctly via brute force, displayed digits are decimal even when
working with powers of 2, shows at most 3 significant (decimal) digits.
(So no "1023M" nonsense, that's 1.0G.)
Elliott Hughes [Thu, 3 Sep 2015 21:56:49 +0000 (21:56 +0000)]
am
888d43b9: Merge remote-tracking branch \'toybox/master\' into HEAD
* commit '
888d43b94f77ef2c1f126ef6099ee6fba454c682':
seq -f %0-f is a valid pattern.
If you start a git commit and then edit the file more on the filesystem before saving, the updates don't go in the commit. Behavior difference between git and mercurial, that.
Sanitize seq -f string.
vmstat: fix units for bi and bo columns
Trivial code style tweak.
vmstat: reset header pointer when looping
ls -l user/group/security context should be left-aligned.
Work around bug in gcc 5.2.0 that miscompiles linux 2.6.12's kconfig.
Elliott Hughes [Thu, 3 Sep 2015 21:41:43 +0000 (14:41 -0700)]
Merge remote-tracking branch 'toybox/master' into HEAD
Elliott Hughes [Thu, 3 Sep 2015 21:07:02 +0000 (21:07 +0000)]
am
2e72007e: Switch to toybox ls.
* commit '
2e72007ecb54ff47d7d637a61baacf256513d021':
Switch to toybox ls.
Rob Landley [Thu, 3 Sep 2015 01:09:42 +0000 (20:09 -0500)]
seq -f %0-f is a valid pattern.
Rob Landley [Thu, 3 Sep 2015 01:05:34 +0000 (20:05 -0500)]
If you start a git commit and then edit the file more on the filesystem
before saving, the updates don't go in the commit. Behavior difference
between git and mercurial, that.
Good to know.
Rob Landley [Thu, 3 Sep 2015 00:29:51 +0000 (19:29 -0500)]
Sanitize seq -f string.
Colin Cross [Wed, 2 Sep 2015 06:23:58 +0000 (01:23 -0500)]
vmstat: fix units for bi and bo columns
pgpgin and pgpgout in /proc/vmstat are in kbytes, not pages.
(see http://lxr.free-electrons.com/source/mm/vmstat.c?v=4.2#L1310).
Remove the extra * page_kb for io_in and io_out.
Rob Landley [Wed, 2 Sep 2015 00:17:12 +0000 (19:17 -0500)]
Trivial code style tweak.
Colin Cross [Wed, 2 Sep 2015 00:16:06 +0000 (19:16 -0500)]
vmstat: reset header pointer when looping
Modifying the headers pointer when printing the headers causes
a buffer overrun the second time they are printed. Use a local
header pointer that is reset to the beginning of the buffer for
each loop.
Elliott Hughes [Tue, 1 Sep 2015 16:36:45 +0000 (16:36 +0000)]
am
68640611: Switch to toybox uptime.
* commit '
68640611f4181b5b6675e652d49b74ab531c96d9':
Switch to toybox uptime.
Elliott Hughes [Tue, 1 Sep 2015 16:36:42 +0000 (16:36 +0000)]
am
134791c1: Regenerate generated files.
* commit '
134791c1403d47720ccfa46efe026c7e81159e79':
Regenerate generated files.
Elliott Hughes [Tue, 1 Sep 2015 16:36:41 +0000 (16:36 +0000)]
am
226e1671: Merge remote-tracking branch \'toybox/master\' into HEAD
* commit '
226e167128144090a95197f5d30b7e6d607d52ec':
Fix mv on overwrite.
Add portability.h glue to let uptime build without TOYBOX_UTMPX.
Build updates: make change should use top level .config for global settings, add NOSTRIP variable to force skipping strip, and save intermediate flag data in generated/flags.raw and have mkflags.c error message point to that.
Menuconfig option for musl-libc pretending mmu is just pining for the fijords.
Static analysis from Hyejin Kim found possible pointer underflow.
I discovered that the reason SIGINT causes a reboot on sysvinit is that it's how the kernel signals that ctrl-alt-delete has been pressed; thus, setting it as the signal for reboot prevents ctrlaltdel scripts from working. SIGTERM is what Busybox uses, so we might as well be compatible.
Test for human_readable()
Kylie McClain pointed out that env should clear variables with NAME= by itself.
Another Android roadmap update.
Fix ionice default class.
Elliott Hughes [Tue, 1 Sep 2015 02:47:12 +0000 (21:47 -0500)]
ls -l user/group/security context should be left-aligned.
Right-aligned looks pretty good to me, but it's not what anyone else does.
Rob Landley [Tue, 1 Sep 2015 02:42:47 +0000 (21:42 -0500)]
Work around bug in gcc 5.2.0 that miscompiles linux 2.6.12's kconfig.
Elliott Hughes [Mon, 31 Aug 2015 19:43:59 +0000 (12:43 -0700)]
Switch to toybox ls.
I think everything that was relying on the non-POSIX output has been fixed,
so time to try again...
This also fixes the ls -R bug (http://b/
21171466).
Bug: http://b/
23040458
Change-Id: I69279e7acab52a74b914006c541031daeea0e5b1
Elliott Hughes [Mon, 17 Aug 2015 18:13:01 +0000 (11:13 -0700)]
Switch to toybox uptime.
Now we're manually editing .config because we gave up on the repeated
breakage running the script on the host, we don't need to have a fake
<shadow.h>, and we can fix uptime so we don't need a <utmpx.h> either.
Change-Id: If371bb85bd44fec01362f7fbbbfc392bd2cdfe29
Elliott Hughes [Mon, 31 Aug 2015 18:37:31 +0000 (11:37 -0700)]
Regenerate generated files.
Change-Id: I647814ca584713988ad8f104da0cb3bd5c0787ab
Elliott Hughes [Mon, 31 Aug 2015 18:29:40 +0000 (11:29 -0700)]
Merge remote-tracking branch 'toybox/master' into HEAD
Elliott Hughes [Sun, 30 Aug 2015 11:35:30 +0000 (06:35 -0500)]
Fix mv on overwrite.
We need to remove the destination, not the source, to be able to overwrite.
Rob Landley [Sun, 30 Aug 2015 11:00:32 +0000 (06:00 -0500)]
Add portability.h glue to let uptime build without TOYBOX_UTMPX.
Rob Landley [Sun, 30 Aug 2015 09:42:49 +0000 (04:42 -0500)]
Build updates: make change should use top level .config for global settings,
add NOSTRIP variable to force skipping strip, and save intermediate flag
data in generated/flags.raw and have mkflags.c error message point to that.
Rob Landley [Sun, 30 Aug 2015 03:12:56 +0000 (22:12 -0500)]
Menuconfig option for musl-libc pretending mmu is just pining for the fijords.
Rob Landley [Tue, 25 Aug 2015 08:22:02 +0000 (03:22 -0500)]
Static analysis from Hyejin Kim found possible pointer underflow.
Now that the kernel's 128k environment size has been lifted, it might be
possible to feed in a gigabyte of suffix so argv[2] is enough larger than
argv[1] that char *s decrements past NULL and points to arbitrary high
memory (I.E. strlen(suffix) > (long)base), at which point the base > s
test is defeated and we strcmp() against a wild pointer.
Which is read only anyway and on 64 bit you probably couldn't hit any
interesting addresses, but the fix is easy enough: compare strlen values
instead of pointers. So do that instead.
Isaac Dunham [Thu, 20 Aug 2015 16:49:16 +0000 (11:49 -0500)]
I discovered that the reason SIGINT causes a reboot on sysvinit is that
it's how the kernel signals that ctrl-alt-delete has been pressed;
thus, setting it as the signal for reboot prevents ctrlaltdel scripts
from working.
SIGTERM is what Busybox uses, so we might as well be compatible.
Elliott Hughes [Tue, 18 Aug 2015 18:04:42 +0000 (18:04 +0000)]
am
18465130: Add a base64 symlink.
* commit '
184651300d6a9a2f5dd00ba9945c9c52af23962c':
Add a base64 symlink.