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
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
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);
}
}
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:
static char *pass_msg (void)
{
- char *msg = emalloc(sizeof("Passed"));
- strcpy (msg, "Passed");
- return msg;
+ return strdup("Passed");
}
#ifdef _POSIX_VERSION