]> granicus.if.org Git - check/commitdiff
replace strcpy with alternative
authorbrarcher <brarcher@64e312b2-a51f-0410-8e61-82d0ca0eb02a>
Tue, 6 Nov 2012 04:11:16 +0000 (04:11 +0000)
committerbrarcher <brarcher@64e312b2-a51f-0410-8e61-82d0ca0eb02a>
Tue, 6 Nov 2012 04:11:16 +0000 (04:11 +0000)
Although in these contexts using strcpy is safe, usually it is unsafe.
Replacing strcpy with simpler and safer alternatives.

git-svn-id: svn+ssh://svn.code.sf.net/p/check/code/trunk@663 64e312b2-a51f-0410-8e61-82d0ca0eb02a

src/check_pack.c
src/check_print.c
src/check_run.c

index 5fef591b37571e6900f980b3797df45237ca8672..045395baa90078c0454c89e0339a9c21997f953a 100644 (file)
@@ -351,8 +351,7 @@ static int get_result (char *buf, RcvMsg *rmsg)
     FailMsg *fmsg = (FailMsg *) &msg;
     if (rmsg->msg == NULL)
     {
-      rmsg->msg = emalloc (strlen (fmsg->msg) + 1);
-      strcpy (rmsg->msg, fmsg->msg);
+      rmsg->msg = strdup(fmsg->msg);
       rmsg->failctx = rmsg->lastctx;
     }
     else
@@ -420,13 +419,11 @@ static void rcvmsg_update_loc (RcvMsg *rmsg, const char *file, int line)
   if (rmsg->lastctx == CK_CTX_TEST) {
     free(rmsg->test_file);
     rmsg->test_line = line;
-    rmsg->test_file = emalloc (flen + 1);
-    strcpy (rmsg->test_file, file);
+    rmsg->test_file = strdup(file);
   } else {
     free(rmsg->fixture_file);
     rmsg->fixture_line = line;
-    rmsg->fixture_file = emalloc (flen + 1);
-    strcpy (rmsg->fixture_file, file);
+    rmsg->fixture_file = strdup(file);
   }
 }
   
index 2e001a4eb8e3e8256cdefe833156f582a406f320..d67fef6a1e4900ac8eb5f91230298723cfa5f7a3 100644 (file)
@@ -142,13 +142,13 @@ void tr_xmlprint (FILE *file, TestResult *tr, enum print_output print_mode CK_AT
 
   switch (tr->rtype) {
   case CK_PASS:
-    strcpy(result, "success");
+    snprintf(result, sizeof(result), "%s", "success");
     break;
   case CK_FAILURE:
-    strcpy(result, "failure");
+    snprintf(result, sizeof(result), "%s", "failure");
     break;
   case CK_ERROR:
-    strcpy(result, "error");
+    snprintf(result, sizeof(result), "%s", "error");
     break;
   case CK_TEST_RESULT_INVALID:
   default:
index a8c0560de13de5d99c18ae3f7ce75881af08bc6b..968e7845d547a5e5d54e3d08414d5d625527f725 100644 (file)
@@ -373,9 +373,7 @@ static void set_nofork_info (TestResult *tr)
 
 static char *pass_msg (void)
 {
-  char *msg = emalloc(sizeof("Passed"));
-  strcpy (msg, "Passed");
-  return msg;
+  return strdup("Passed");
 }
 
 #ifdef _POSIX_VERSION