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>
diff --git a/board/samsung/origen/tools/mkorigenspl.c b/board/samsung/origen/tools/mkorigenspl.c
index 3ed20ef..8b0c3ac 100644
--- a/board/samsung/origen/tools/mkorigenspl.c
+++ b/board/samsung/origen/tools/mkorigenspl.c
@@ -52,7 +52,7 @@
}
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 9a64ca6..ea61635 100644
--- a/board/samsung/smdkv310/tools/mksmdkv310spl.c
+++ b/board/samsung/smdkv310/tools/mksmdkv310spl.c
@@ -50,7 +50,7 @@
}
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 c1fc42a..bcc8d32 100644
--- a/drivers/hwmon/lm81.c
+++ b/drivers/hwmon/lm81.c
@@ -90,7 +90,7 @@
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 69e99c0..d9361b0 100644
--- a/tools/fit_check_sign.c
+++ b/tools/fit_check_sign.c
@@ -75,7 +75,7 @@
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 32b786c..46195aa 100644
--- a/tools/mkexynosspl.c
+++ b/tools/mkexynosspl.c
@@ -110,7 +110,7 @@
}
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);