[PATCH 1/1] sanbox: add linux_execve and linux_exec command
Sascha Hauer
s.hauer at pengutronix.de
Tue Nov 22 15:07:48 EST 2011
Hi Jean Christophe,
On Sun, Oct 23, 2011 at 05:59:21PM +0800, Jean-Christophe PLAGNIOL-VILLARD wrote:
> this will allow to execute a program of the host from barebox
> +
> +#include <common.h>
> +#include <command.h>
> +#include <mach/linux.h>
> +
> +static int do_linux_exec(struct command *cmdtp, int argc, char *argv[])
> +{
> + int ret;
> + char **newargv;
> + char *newenv[] = { NULL };
> + int i, j;
> +
> + if (argc < 2)
> + return 1;
> +
> + newargv = xzalloc(sizeof(char*) * argc);
> +
> + for (j = 0, i = 1; i < argc; i++, j++)
> + newargv[j] = argv[i];
> +
> + newargv[j] = NULL;
> + ret = linux_execve(argv[1], newargv, newenv);
> +
> + if (ret)
> + return 1;
> +
> + return 0;
You are loosing memory here.
Sascha
> +}
> +
> +BAREBOX_CMD_HELP_START(linux_exec)
> +BAREBOX_CMD_HELP_USAGE("linux_exec ...\n")
> +BAREBOX_CMD_HELP_SHORT("Execute a command on the host\n")
> +BAREBOX_CMD_HELP_END
> +
> +BAREBOX_CMD_START(linux_exec)
> + .cmd = do_linux_exec,
> + .usage = "Execute a command on the host",
> + BAREBOX_CMD_HELP(cmd_linux_exec_help)
> +BAREBOX_CMD_END
> --
> 1.7.7
>
>
> _______________________________________________
> barebox mailing list
> barebox at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/barebox
>
--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
More information about the barebox
mailing list