diff options
author | Denys Vlasenko <vda.linux@googlemail.com> | 2017-08-06 21:23:03 +0200 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2017-08-06 21:23:03 +0200 |
commit | b9be78070569e69960ba2b3c4098c3dc3316b9bd (patch) | |
tree | a74d7de183adcf7ef4b4584ff42c3443343271af /console-tools/dumpkmap.c | |
parent | 184c738582eb190489dd2e9d120b1e036df65401 (diff) | |
download | busybox-w32-b9be78070569e69960ba2b3c4098c3dc3316b9bd.tar.gz busybox-w32-b9be78070569e69960ba2b3c4098c3dc3316b9bd.tar.bz2 busybox-w32-b9be78070569e69960ba2b3c4098c3dc3316b9bd.zip |
sv,svc: fix NOEXEC fallout
function old new delta
svc_main 145 162 +17
sv 1280 1297 +17
status 139 133 -6
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 2/1 up/down: 34/-6) Total: 28 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'console-tools/dumpkmap.c')
-rw-r--r-- | console-tools/dumpkmap.c | 19 |
1 files changed, 3 insertions, 16 deletions
diff --git a/console-tools/dumpkmap.c b/console-tools/dumpkmap.c index 5ffb0cddb..b803e579a 100644 --- a/console-tools/dumpkmap.c +++ b/console-tools/dumpkmap.c | |||
@@ -16,6 +16,7 @@ | |||
16 | //config: stdout, in binary format. You can then use loadkmap to load it. | 16 | //config: stdout, in binary format. You can then use loadkmap to load it. |
17 | 17 | ||
18 | //applet:IF_DUMPKMAP(APPLET_NOEXEC(dumpkmap, dumpkmap, BB_DIR_BIN, BB_SUID_DROP, dumpkmap)) | 18 | //applet:IF_DUMPKMAP(APPLET_NOEXEC(dumpkmap, dumpkmap, BB_DIR_BIN, BB_SUID_DROP, dumpkmap)) |
19 | /* bb_common_bufsiz1 usage here is safe wrt NOEXEC: not expecting it to be zeroed. */ | ||
19 | 20 | ||
20 | //kbuild:lib-$(CONFIG_DUMPKMAP) += dumpkmap.o | 21 | //kbuild:lib-$(CONFIG_DUMPKMAP) += dumpkmap.o |
21 | 22 | ||
@@ -47,8 +48,6 @@ int dumpkmap_main(int argc UNUSED_PARAM, char **argv) | |||
47 | { | 48 | { |
48 | struct kbentry ke; | 49 | struct kbentry ke; |
49 | int i, j, fd; | 50 | int i, j, fd; |
50 | #define flags bb_common_bufsiz1 | ||
51 | setup_common_bufsiz(); | ||
52 | 51 | ||
53 | /* When user accidentally runs "dumpkmap FILE" | 52 | /* When user accidentally runs "dumpkmap FILE" |
54 | * instead of "dumpkmap >FILE", we'd dump binary stuff to tty. | 53 | * instead of "dumpkmap >FILE", we'd dump binary stuff to tty. |
@@ -60,19 +59,8 @@ int dumpkmap_main(int argc UNUSED_PARAM, char **argv) | |||
60 | 59 | ||
61 | fd = get_console_fd_or_die(); | 60 | fd = get_console_fd_or_die(); |
62 | 61 | ||
63 | #if 0 | 62 | #define flags bb_common_bufsiz1 |
64 | write(STDOUT_FILENO, "bkeymap", 7); | 63 | setup_common_bufsiz(); |
65 | /* Here we want to set everything to 0 except for indexes: | ||
66 | * [0-2] [4-6] [8-10] [12] | ||
67 | */ | ||
68 | /*memset(flags, 0x00, MAX_NR_KEYMAPS); - already is */ | ||
69 | memset(flags, 0x01, 13); | ||
70 | flags[3] = flags[7] = flags[11] = 0; | ||
71 | /* dump flags */ | ||
72 | write(STDOUT_FILENO, flags, MAX_NR_KEYMAPS); | ||
73 | #define flags7 flags | ||
74 | #else | ||
75 | /* Same effect */ | ||
76 | /* 0 1 2 3 4 5 6 7 8 9 a b c=12 */ | 64 | /* 0 1 2 3 4 5 6 7 8 9 a b c=12 */ |
77 | memcpy(flags, "bkeymap\1\1\1\0\1\1\1\0\1\1\1\0\1", | 65 | memcpy(flags, "bkeymap\1\1\1\0\1\1\1\0\1\1\1\0\1", |
78 | /* Can use sizeof, or sizeof-1. sizeof is even, using that */ | 66 | /* Can use sizeof, or sizeof-1. sizeof is even, using that */ |
@@ -80,7 +68,6 @@ int dumpkmap_main(int argc UNUSED_PARAM, char **argv) | |||
80 | ); | 68 | ); |
81 | write(STDOUT_FILENO, flags, 7 + MAX_NR_KEYMAPS); | 69 | write(STDOUT_FILENO, flags, 7 + MAX_NR_KEYMAPS); |
82 | #define flags7 (flags + 7) | 70 | #define flags7 (flags + 7) |
83 | #endif | ||
84 | 71 | ||
85 | for (i = 0; i < 13; i++) { | 72 | for (i = 0; i < 13; i++) { |
86 | if (flags7[i]) { | 73 | if (flags7[i]) { |