aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Weil <weil@mail.berlios.de>2011-04-03 21:36:36 +0200
committerEdgar E. Iglesias <edgar.iglesias@gmail.com>2011-04-03 21:58:38 +0200
commit2917dce477f91e933052f5555b4c6be961ff624e (patch)
treee37790dd76f7d53761522dea178296251db90501
parent9bcfc7daabb138b0fe3d64d74892942d482e5bbd (diff)
tests/cris: Fix some errors and potential crashes
These errors were reported by cppcheck: tests/cris/check_openpf1.c:30: error: Mismatching allocation and deallocation: f tests/cris/check_openpf2.c:13: error: Mismatching allocation and deallocation: f tests/cris/check_stat3.c:16: error: Buffer overrun possible for long cmd-line args tests/cris/check_stat4.c:18: error: Buffer overrun possible for long cmd-line args The first two are obvious coding errors (fopen needs fclose, not close). The last two may seem less important (nobody will start test code with an argument of more than 1022 characters which raises a buffer overrun). Fixing them nevertheless helps with static code checks like those done by cppcheck. Signed-off-by: Stefan Weil <weil@mail.berlios.de> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
-rw-r--r--tests/cris/check_openpf1.c2
-rw-r--r--tests/cris/check_openpf2.c2
-rw-r--r--tests/cris/check_stat3.c2
-rw-r--r--tests/cris/check_stat4.c2
4 files changed, 4 insertions, 4 deletions
diff --git a/tests/cris/check_openpf1.c b/tests/cris/check_openpf1.c
index 1d71e0bdd..fdcf4c5c3 100644
--- a/tests/cris/check_openpf1.c
+++ b/tests/cris/check_openpf1.c
@@ -27,7 +27,7 @@ int main (int argc, char *argv[])
f = fopen (fnam, "rb");
if (f == NULL)
abort ();
- close (f);
+ fclose(f);
/* Cover another execution path. */
if (fopen ("/nonexistent", "rb") != NULL
diff --git a/tests/cris/check_openpf2.c b/tests/cris/check_openpf2.c
index f44a8f34b..5d56189f8 100644
--- a/tests/cris/check_openpf2.c
+++ b/tests/cris/check_openpf2.c
@@ -10,7 +10,7 @@ int main (int argc, char *argv[])
FILE *f = fopen ("check_openpf2.c", "rb");
if (f == NULL)
abort ();
- close (f);
+ fclose(f);
printf ("pass\n");
return 0;
}
diff --git a/tests/cris/check_stat3.c b/tests/cris/check_stat3.c
index 3b5b217a1..36a9d5d27 100644
--- a/tests/cris/check_stat3.c
+++ b/tests/cris/check_stat3.c
@@ -13,7 +13,7 @@ int main (int argc, char *argv[])
char path[1024] = "/";
struct stat buf;
- strcat (path, argv[0]);
+ strncat(path, argv[0], sizeof(path) - 2);
if (stat (".", &buf) != 0
|| !S_ISDIR (buf.st_mode))
abort ();
diff --git a/tests/cris/check_stat4.c b/tests/cris/check_stat4.c
index e1955cab3..04f21fe7c 100644
--- a/tests/cris/check_stat4.c
+++ b/tests/cris/check_stat4.c
@@ -15,7 +15,7 @@ int main (int argc, char *argv[])
char path[1024] = "/";
struct stat buf;
- strcat (path, argv[0]);
+ strncat(path, argv[0], sizeof(path) - 2);
if (lstat (".", &buf) != 0
|| !S_ISDIR (buf.st_mode))
abort ();