* Source command with zero-sized files @ 2015-11-04 15:41 Wjatscheslaw Stoljarski 2015-11-04 16:51 ` Antony Pavlov 2015-11-05 6:59 ` [PATCH] hush: Add missing initialize_context() in some places Sascha Hauer 0 siblings, 2 replies; 3+ messages in thread From: Wjatscheslaw Stoljarski @ 2015-11-04 15:41 UTC (permalink / raw) To: barebox Using source command (source <file> or . <file>) on zero-sized files crash barebox. Can anyone confirm this? Thanks _______________________________________________ barebox mailing list barebox@lists.infradead.org http://lists.infradead.org/mailman/listinfo/barebox ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Source command with zero-sized files 2015-11-04 15:41 Source command with zero-sized files Wjatscheslaw Stoljarski @ 2015-11-04 16:51 ` Antony Pavlov 2015-11-05 6:59 ` [PATCH] hush: Add missing initialize_context() in some places Sascha Hauer 1 sibling, 0 replies; 3+ messages in thread From: Antony Pavlov @ 2015-11-04 16:51 UTC (permalink / raw) To: Wjatscheslaw Stoljarski; +Cc: barebox On Wed, 4 Nov 2015 16:41:42 +0100 Wjatscheslaw Stoljarski <wjatscheslaw.stoljarski@kiwigrid.com> wrote: > Using source command (source <file> or . <file>) on zero-sized files crash barebox. > Can anyone confirm this? I can confirm this! Here is sandbox log: barebox@barebox sandbox:/ ls -l env/empty -rwxrwxrwx 0 env/empty barebox@barebox sandbox:/ source env/empty Segmentation fault -- Best regards, Antony Pavlov _______________________________________________ barebox mailing list barebox@lists.infradead.org http://lists.infradead.org/mailman/listinfo/barebox ^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH] hush: Add missing initialize_context() in some places 2015-11-04 15:41 Source command with zero-sized files Wjatscheslaw Stoljarski 2015-11-04 16:51 ` Antony Pavlov @ 2015-11-05 6:59 ` Sascha Hauer 1 sibling, 0 replies; 3+ messages in thread From: Sascha Hauer @ 2015-11-05 6:59 UTC (permalink / raw) To: Barebox List Before a context can be used it must be initialized. This was forgotten in several places. Add the missing calls to initialize_context(). This fixes crashes when sourcing empty files Reported-by: Wjatscheslaw Stoljarski <wjatscheslaw.stoljarski@kiwigrid.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> --- This patch should fix this issue. common/hush.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/common/hush.c b/common/hush.c index abe8713..084dd85 100644 --- a/common/hush.c +++ b/common/hush.c @@ -814,6 +814,8 @@ static int run_pipe_real(struct p_context *ctx, struct pipe *pi) char * str = NULL; struct p_context ctx1; + initialize_context(&ctx1); + str = make_string((child->argv + i)); rcode = parse_string_outer(&ctx1, str, FLAG_EXIT_FROM_LOOP | FLAG_REPARSING); release_context(&ctx1); @@ -1866,6 +1868,8 @@ int run_command(const char *cmd) struct p_context ctx; int ret; + initialize_context(&ctx); + ret = parse_string_outer(&ctx, cmd, FLAG_PARSE_SEMICOLON); release_context(&ctx); @@ -1889,6 +1893,8 @@ static int source_script(const char *path, int argc, char *argv[]) char *script; int ret; + initialize_context(&ctx); + ctx.global_argc = argc; ctx.global_argv = argv; -- 2.6.1 _______________________________________________ barebox mailing list barebox@lists.infradead.org http://lists.infradead.org/mailman/listinfo/barebox ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2015-11-05 7:00 UTC | newest] Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2015-11-04 15:41 Source command with zero-sized files Wjatscheslaw Stoljarski 2015-11-04 16:51 ` Antony Pavlov 2015-11-05 6:59 ` [PATCH] hush: Add missing initialize_context() in some places Sascha Hauer
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox