diff options
author | Thomas Huth <huth@tuxfamily.org> | 2015-08-25 17:09:40 +0200 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2015-10-24 13:50:30 -0400 |
commit | 310ae37edb3becedf5da904201f3439ea42ab12f (patch) | |
tree | 6d30471b538ed5718134a24220e6b7ccb20c2908 | |
parent | bff78567da51eee433e0e76a87edc5f0a03a0d8d (diff) | |
download | u-boot-310ae37edb3becedf5da904201f3439ea42ab12f.tar.gz u-boot-310ae37edb3becedf5da904201f3439ea42ab12f.tar.bz2 u-boot-310ae37edb3becedf5da904201f3439ea42ab12f.zip |
Fix bad return value checks (detected with Coccinelle)
In the "Getting Started with Coccinelle - KVM edition" presentation that
has been held by Julia Lawall at the KVM forum 2015 (see the slides at
http://events.linuxfoundation.org/sites/events/files/slides/tutorial_kvm_0.pdf),
she pointed out some bad return value checks in U-Boot that can be
detected with Coccinelle by using the following config file:
@@
identifier x,y;
identifier f;
statement S;
@@
x = f(...);
(
if (x < 0) S
|
if (
- y
+ x
< 0) S
)
This patch now fixes these issues.
Signed-off-by: Thomas Huth <huth@tuxfamily.org>
-rw-r--r-- | board/samsung/origen/tools/mkorigenspl.c | 2 | ||||
-rw-r--r-- | board/samsung/smdkv310/tools/mksmdkv310spl.c | 2 | ||||
-rw-r--r-- | drivers/hwmon/lm81.c | 2 | ||||
-rw-r--r-- | tools/fit_check_sign.c | 2 | ||||
-rw-r--r-- | tools/mkexynosspl.c | 2 |
5 files changed, 5 insertions, 5 deletions
diff --git a/board/samsung/origen/tools/mkorigenspl.c b/board/samsung/origen/tools/mkorigenspl.c index 3ed20efce3..8b0c3ac4bd 100644 --- a/board/samsung/origen/tools/mkorigenspl.c +++ b/board/samsung/origen/tools/mkorigenspl.c @@ -52,7 +52,7 @@ int main(int argc, char **argv) } ofd = open(argv[2], O_WRONLY | O_CREAT | O_TRUNC, FILE_PERM); - if (ifd < 0) { + if (ofd < 0) { fprintf(stderr, "%s: Can't open %s: %s\n", argv[0], argv[2], strerror(errno)); if (ifd) diff --git a/board/samsung/smdkv310/tools/mksmdkv310spl.c b/board/samsung/smdkv310/tools/mksmdkv310spl.c index 9a64ca6ad6..ea61635db5 100644 --- a/board/samsung/smdkv310/tools/mksmdkv310spl.c +++ b/board/samsung/smdkv310/tools/mksmdkv310spl.c @@ -50,7 +50,7 @@ int main(int argc, char **argv) } ofd = open(argv[2], O_WRONLY | O_CREAT | O_TRUNC, FILE_PERM); - if (ifd < 0) { + if (ofd < 0) { fprintf(stderr, "%s: Can't open %s: %s\n", argv[0], argv[2], strerror(errno)); if (ifd) diff --git a/drivers/hwmon/lm81.c b/drivers/hwmon/lm81.c index c1fc42a833..bcc8d3293b 100644 --- a/drivers/hwmon/lm81.c +++ b/drivers/hwmon/lm81.c @@ -90,7 +90,7 @@ int dtt_init_one(int sensor) if (adr < 0) return 1; rev = dtt_read (sensor, DTT_REV); - if (adr < 0) + if (rev < 0) return 1; debug ("DTT: Found LM81@%x Rev: %d\n", adr, rev); diff --git a/tools/fit_check_sign.c b/tools/fit_check_sign.c index 69e99c0d17..d9361b0095 100644 --- a/tools/fit_check_sign.c +++ b/tools/fit_check_sign.c @@ -75,7 +75,7 @@ int main(int argc, char **argv) if (ffd < 0) return EXIT_FAILURE; kfd = mmap_fdt(cmdname, keyfile, 0, &key_blob, &ksbuf, false); - if (ffd < 0) + if (kfd < 0) return EXIT_FAILURE; image_set_host_blob(key_blob); diff --git a/tools/mkexynosspl.c b/tools/mkexynosspl.c index 32b786c724..46195aad55 100644 --- a/tools/mkexynosspl.c +++ b/tools/mkexynosspl.c @@ -110,7 +110,7 @@ int main(int argc, char **argv) } ofd = open(argv[of_index], O_WRONLY | O_CREAT | O_TRUNC, FILE_PERM); - if (ifd < 0) { + if (ofd < 0) { fprintf(stderr, "%s: Can't open %s: %s\n", prog_name, argv[of_index], strerror(errno)); exit(EXIT_FAILURE); |