qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Stefan Weil <weil@mail.berlios.de>
To: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
Cc: QEMU Developers <qemu-devel@nongnu.org>
Subject: [Qemu-devel] [PATCH] tests/cris: Fix some errors and potential crashes
Date: Sun,  3 Apr 2011 21:36:36 +0200	[thread overview]
Message-ID: <1301859396-9701-1-git-send-email-weil@mail.berlios.de> (raw)

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>
---
 tests/cris/check_openpf1.c |    2 +-
 tests/cris/check_openpf2.c |    2 +-
 tests/cris/check_stat3.c   |    2 +-
 tests/cris/check_stat4.c   |    2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/tests/cris/check_openpf1.c b/tests/cris/check_openpf1.c
index 1d71e0b..fdcf4c5 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 f44a8f3..5d56189 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 3b5b217..36a9d5d 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 e1955ca..04f21fe 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 ();
-- 
1.7.2.5

             reply	other threads:[~2011-04-03 19:36 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-04-03 19:36 Stefan Weil [this message]
2011-04-03 19:57 ` [Qemu-devel] Re: [PATCH] tests/cris: Fix some errors and potential crashes Edgar E. Iglesias

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1301859396-9701-1-git-send-email-weil@mail.berlios.de \
    --to=weil@mail.berlios.de \
    --cc=edgar.iglesias@gmail.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).