svn commit: trunk/busybox/shell
Bernhard Fischer
rep.nop at aon.at
Tue Jan 9 13:34:52 PST 2007
On Tue, Dec 26, 2006 at 01:31:13PM -0800, vda at busybox.net wrote:
>Author: vda
>Date: 2006-12-26 13:31:11 -0800 (Tue, 26 Dec 2006)
>New Revision: 17085
>
>Log:
>ash: is_safe_applet mustn't affect disabled applets
>
>
>Modified:
> trunk/busybox/shell/ash.c
>
>
>Changeset:
>Modified: trunk/busybox/shell/ash.c
>===================================================================
>--- trunk/busybox/shell/ash.c 2006-12-26 18:17:42 UTC (rev 17084)
>+++ trunk/busybox/shell/ash.c 2006-12-26 21:31:11 UTC (rev 17085)
>@@ -1381,17 +1381,9 @@
> { BUILTIN_REGULAR "wait", waitcmd },
> };
>
>-#define NUMBUILTINS (sizeof (builtincmd) / sizeof (struct builtincmd) )
>+#define NUMBUILTINS (sizeof(builtincmd) / sizeof(builtincmd[0]))
>
>-static const char *safe_applets[] = {
>- "[", "test", "echo", "cat",
>- "ln", "cp", "touch", "mkdir", "rm",
>- "cut", "hexdump", "awk", "sort",
>- "find", "xargs", "ls", "dd",
>- "chown", "chmod"
>-};
>
>-
> struct cmdentry {
> int cmdtype;
> union param {
>@@ -2042,7 +2034,30 @@
>
> static int is_safe_applet(char *name)
> {
>- int n = sizeof(safe_applets) / sizeof(char *);
>+ /* It isn't a bug to have non-existent applet here... */
>+ /* ...just a waste of space... */
>+ static const char safe_applets[][8] = {
>+ "["
Didn't look in detail, but
why isn't "[" USE_TEST too apart from lazyness WRT a big
#if THIS|THAT|ONE_OF_THE_OTHERS around the safe_applets and related code ?
thanks,
>+ USE_AWK (, "awk" )
>+ USE_CAT (, "cat" )
>+ USE_CHMOD (, "chmod" )
>+ USE_CHOWN (, "chown" )
>+ USE_CP (, "cp" )
>+ USE_CUT (, "cut" )
>+ USE_DD (, "dd" )
>+ USE_ECHO (, "echo" )
>+ USE_FIND (, "find" )
>+ USE_HEXDUMP(, "hexdump")
>+ USE_LN (, "ln" )
>+ USE_LS (, "ls" )
>+ USE_MKDIR (, "mkdir" )
>+ USE_RM (, "rm" )
>+ USE_SORT (, "sort" )
>+ USE_TEST (, "test" )
>+ USE_TOUCH (, "touch" )
>+ USE_XARGS (, "xargs" )
>+ };
>+ int n = sizeof(safe_applets) / sizeof(safe_applets[0]);
> int i;
> for (i = 0; i < n; i++)
> if (strcmp(safe_applets[i], name) == 0)
More information about the busybox
mailing list