Skip to content

Commit

Permalink
tests/cris: Fix some errors and potential crashes
Browse files Browse the repository at this point in the history
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 <[email protected]>
Signed-off-by: Edgar E. Iglesias <[email protected]>
  • Loading branch information
Stefan Weil authored and edgarigl committed Apr 3, 2011
1 parent 9bcfc7d commit 2917dce
Show file tree
Hide file tree
Showing 4 changed files with 4 additions and 4 deletions.
2 changes: 1 addition & 1 deletion tests/cris/check_openpf1.c
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion tests/cris/check_openpf2.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}
2 changes: 1 addition & 1 deletion tests/cris/check_stat3.c
Original file line number Diff line number Diff line change
Expand Up @@ -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 ();
Expand Down
2 changes: 1 addition & 1 deletion tests/cris/check_stat4.c
Original file line number Diff line number Diff line change
Expand Up @@ -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 ();
Expand Down

0 comments on commit 2917dce

Please sign in to comment.