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:
parent
9bcfc7daab
commit
2917dce477
@ -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
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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 ();
|
||||
|
@ -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 ();
|
||||
|
Loading…
Reference in New Issue
Block a user