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>
This commit is contained in:
Stefan Weil 2011-04-03 21:36:36 +02:00 committed by Edgar E. Iglesias
parent 9bcfc7daab
commit 2917dce477
4 changed files with 4 additions and 4 deletions

View File

@ -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

View File

@ -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;
}

View File

@ -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 ();

View File

@ -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 ();