diff options
Diffstat (limited to 'runtime')
-rw-r--r-- | runtime/map.c | 21 | ||||
-rw-r--r-- | runtime/staprun/modverify.c | 5 |
2 files changed, 9 insertions, 17 deletions
diff --git a/runtime/map.c b/runtime/map.c index de25d6f3..190ba91b 100644 --- a/runtime/map.c +++ b/runtime/map.c @@ -38,27 +38,16 @@ static int int64_eq_p (int64_t key1, int64_t key2) static void str_copy(char *dest, char *src) { - int len = 0; - if (src) { - len = strlen(src); - if (len > MAP_STRING_LENGTH - 1) - len = MAP_STRING_LENGTH - 1; - memcpy (dest, src, len); - } - dest[len] = 0; + if (src) + strlcpy(dest, src, MAP_STRING_LENGTH); + else + *dest = 0; } static void str_add(void *dest, char *val) { char *dst = (char *)dest; - int len = strlen(val); - int len1 = strlen(dst); - int num = MAP_STRING_LENGTH - 1 - len1; - - if (len > num) - len = num; - memcpy (&dst[len1], val, len); - dst[len + len1] = 0; + strlcat(dst, val, MAP_STRING_LENGTH); } static int str_eq_p (char *key1, char *key2) diff --git a/runtime/staprun/modverify.c b/runtime/staprun/modverify.c index b897d266..688734c0 100644 --- a/runtime/staprun/modverify.c +++ b/runtime/staprun/modverify.c @@ -149,8 +149,11 @@ verify_it (const char *inputName, const char *signatureName, SECKEYPublicKey *pu /* Complete the verification. */ secStatus = VFY_End (vfy); - if (secStatus != SECSuccess) + if (secStatus != SECSuccess) { + fprintf (stderr, "Unable to verify signed module %s. It may have been altered since it was created.\n", inputName); + nssError (); return 0; + } return 1; } |