summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorxypron.glpk@gmx.de <xypron.glpk@gmx.de>2017-05-04 20:26:42 (GMT)
committerTom Rini <trini@konsulko.com>2017-05-05 20:45:57 (GMT)
commitf59a3b21f60190793dc3cee97338c2f6ee9f2336 (patch)
tree5897435c6e271cad2bd269a7306cfb94e6b25d8c /tools
parentd27e35f2564f751a3cc47daa5ab9897f04401a40 (diff)
downloadu-boot-f59a3b21f60190793dc3cee97338c2f6ee9f2336.tar.xz
tools: sunxi: avoid read after end of string
The evaluation of option -c is incorrect: According to the C99 standard endptr in the first strtol is always set as &endptr is not NULL. So the first part of the or condition is always true. If all digits in optarg are valid endptr will point to the closing \0 and the second strtol will read beyond the end of the string optarg points to. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Acked-by: Boris Brezillon <boris.brezillon@free-electrons.com>
Diffstat (limited to 'tools')
-rw-r--r--tools/sunxi-spl-image-builder.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/tools/sunxi-spl-image-builder.c b/tools/sunxi-spl-image-builder.c
index d538a38..a367f11 100644
--- a/tools/sunxi-spl-image-builder.c
+++ b/tools/sunxi-spl-image-builder.c
@@ -433,7 +433,7 @@ int main(int argc, char **argv)
break;
case 'c':
info.ecc_strength = strtol(optarg, &endptr, 0);
- if (endptr || *endptr == '/')
+ if (*endptr == '/')
info.ecc_step_size = strtol(endptr + 1, NULL, 0);
break;
case 'p':