Message ID | 20081217101554.GA4999@www.tglx.de |
---|---|
State | Accepted |
Commit | a5d3a800db996aa81a07c0ae42240971460ac00d |
Headers | show |
ping * Sebastian Andrzej Siewior | 2008-12-17 11:15:54 [+0100]: >From bigeasy at linutronix.de Wed Dec 17 05:15:54 2008 >From: bigeasy at linutronix.de (Sebastian Andrzej Siewior) >Date: Wed, 17 Dec 2008 11:15:54 +0100 >Subject: [PATCH] ubiupdatevol: make the -t parameter work again >Message-ID: <20081217101554.GA4999@www.tglx.de> > >The execution of >|./ubiupdatevol /dev/ubi0 -t >will fail because 'argv[optind + 1]' is undefined and the later executed >'strcmp(args.img, "-")' will segfault. >So I can hack around and supply a dummy image or fix it that way. > >Signed-off-by: Sebastian Andrzej Siewior <bigeasy at linutronix.de> >--- > ubi-utils/new-utils/src/ubiupdatevol.c | 13 +++++++++---- > 1 files changed, 9 insertions(+), 4 deletions(-) > >diff --git a/ubi-utils/new-utils/src/ubiupdatevol.c b/ubi-utils/new-utils/src/ubiupdatevol.c >index 5eeaa3c..c83731c 100644 >--- a/ubi-utils/new-utils/src/ubiupdatevol.c >+++ b/ubi-utils/new-utils/src/ubiupdatevol.c >@@ -157,10 +157,15 @@ static int parse_opt(int argc, char * const argv[]) > args.node = argv[optind]; > args.img = argv[optind + 1]; > >- if (strcmp(args.img, "-") == 0) >- args.use_stdin = 1; >- if (args.use_stdin && !args.size) >- return errmsg("file size must be specified if input is stdin"); >+ if (args.img && args.truncate) >+ return errmsg("You can't truncate and specify an image (use -h for help)"); >+ >+ if (args.img && !args.truncate) { >+ if (strcmp(args.img, "-") == 0) >+ args.use_stdin = 1; >+ if (args.use_stdin && !args.size) >+ return errmsg("file size must be specified if input is stdin"); >+ } > > return 0; > } >-- >1.5.6.5 > Sebastian
On Tue, 2009-01-20 at 12:25 +0100, Sebastian Andrzej Siewior wrote: > ping > > * Sebastian Andrzej Siewior | 2008-12-17 11:15:54 [+0100]: > > >From bigeasy at linutronix.de Wed Dec 17 05:15:54 2008 > >From: bigeasy at linutronix.de (Sebastian Andrzej Siewior) > >Date: Wed, 17 Dec 2008 11:15:54 +0100 > >Subject: [PATCH] ubiupdatevol: make the -t parameter work again > >Message-ID: <20081217101554.GA4999@www.tglx.de> > > > >The execution of > >|./ubiupdatevol /dev/ubi0 -t > >will fail because 'argv[optind + 1]' is undefined and the later executed > >'strcmp(args.img, "-")' will segfault. > >So I can hack around and supply a dummy image or fix it that way. Pushed, thank you.
diff --git a/ubi-utils/new-utils/src/ubiupdatevol.c b/ubi-utils/new-utils/src/ubiupdatevol.c index 5eeaa3c..c83731c 100644 --- a/ubi-utils/new-utils/src/ubiupdatevol.c +++ b/ubi-utils/new-utils/src/ubiupdatevol.c @@ -157,10 +157,15 @@ static int parse_opt(int argc, char * const argv[]) args.node = argv[optind]; args.img = argv[optind + 1]; - if (strcmp(args.img, "-") == 0) - args.use_stdin = 1; - if (args.use_stdin && !args.size) - return errmsg("file size must be specified if input is stdin"); + if (args.img && args.truncate) + return errmsg("You can't truncate and specify an image (use -h for help)"); + + if (args.img && !args.truncate) { + if (strcmp(args.img, "-") == 0) + args.use_stdin = 1; + if (args.use_stdin && !args.size) + return errmsg("file size must be specified if input is stdin"); + } return 0; }
The execution of |./ubiupdatevol /dev/ubi0 -t will fail because 'argv[optind + 1]' is undefined and the later executed 'strcmp(args.img, "-")' will segfault. So I can hack around and supply a dummy image or fix it that way. Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> --- ubi-utils/new-utils/src/ubiupdatevol.c | 13 +++++++++---- 1 files changed, 9 insertions(+), 4 deletions(-)