diff options
author | Ondrej Oprala | 2012-12-21 13:04:04 +0100 |
---|---|---|
committer | Karel Zak | 2013-01-10 11:08:51 +0100 |
commit | f1107b4a873f6c2dcfcaf0135efc72badb46bc77 (patch) | |
tree | 51cb75f3b2c08255ae92dc9d82e59f6ede4df9e7 /text-utils | |
parent | mount: add support for x-mount.mkdir[=<mode>] option (diff) | |
download | kernel-qcow2-util-linux-f1107b4a873f6c2dcfcaf0135efc72badb46bc77.tar.gz kernel-qcow2-util-linux-f1107b4a873f6c2dcfcaf0135efc72badb46bc77.tar.xz kernel-qcow2-util-linux-f1107b4a873f6c2dcfcaf0135efc72badb46bc77.zip |
hexdump: do not segfault when iterating over an empty format string
Signed-off-by: Ondrej Oprala <ooprala@redhat.com>
Diffstat (limited to 'text-utils')
-rw-r--r-- | text-utils/parse.c | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/text-utils/parse.c b/text-utils/parse.c index 5f1e2bda7..bd9696108 100644 --- a/text-utils/parse.c +++ b/text-utils/parse.c @@ -421,13 +421,15 @@ isint2: switch(fu->bcnt) { !(fu->flags&F_SETREP) && fu->bcnt) fu->reps += (blocksize - fs->bcnt) / fu->bcnt; if (fu->reps > 1) { - for (pr = fu->nextpr;; pr = pr->nextpr) - if (!pr->nextpr) - break; - for (p1 = pr->fmt, p2 = NULL; *p1; ++p1) - p2 = isspace((unsigned char)*p1) ? p1 : NULL; - if (p2) - pr->nospace = p2; + if (fu->nextpr) { + for (pr = fu->nextpr; ; pr = pr->nextpr) + if (!pr->nextpr) + break; + for (p1 = pr->fmt, p2 = NULL; *p1; ++p1) + p2 = isspace((unsigned char)*p1) ? p1 : NULL; + if (p2) + pr->nospace = p2; + } } } } |