diff options
Diffstat (limited to 'src/sh_utils.c')
-rw-r--r-- | src/sh_utils.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/sh_utils.c b/src/sh_utils.c index 4a162c2..204b131 100644 --- a/src/sh_utils.c +++ b/src/sh_utils.c @@ -826,12 +826,14 @@ static char * sh_util_hmac_tiger (char * hexkey, for (i = 0; i < (KEY_LEN/8); ++i) copy_four ( (unsigned char *) &(cc[i]), h1[i]); + /* cppcheck-suppress uninitvar */ h2 = sh_tiger_hash_uint32 ( inner, TIGER_DATA, (unsigned long) KEY_BLOCK+textlen, kbuf, KEY_BYT/sizeof(UINT32)); for (i = KEY_LEN/8; i < (KEY_LEN/4); ++i) copy_four ( (unsigned char *) &(cc[i]), h2[i - (KEY_LEN/8)]); + /* cppcheck-suppress uninitvar */ SH_FREE(inner); (void) sh_tiger_hash ((char *) &cc[0], @@ -1087,7 +1089,7 @@ UINT32 taus_get () res_num = 1; SH_MUTEX_UNLOCK_UNSAFE(mutex_skey); - memset(taus_svec, '\0', TAUS_SAMPLE * sizeof(UINT32)); + memset(taus_svec, 0, TAUS_SAMPLE * sizeof(UINT32)); return retval; } @@ -1243,9 +1245,10 @@ int sh_util_set_newkey (const char * new_in) return -1; } - if (NULL == (new = calloc(1,strlen(new_in) + 1))) + len = strlen(new_in) + 1; + if (NULL == (new = calloc(1, len))) goto bail_mem; - sl_strncpy(new, new_in, strlen(new_in) + 1); + memcpy(new, new_in, len); key = new; len = strlen(new); @@ -2200,6 +2203,7 @@ char * sh_util_strconcat (const char * arg1, ...) else SL_RETURN(NULL, _("sh_util_strconcat")); + /* cppcheck-suppress uninitvar */ strnew[0] = '\0'; (void) sl_strlcpy (strnew, arg1, length + 2); |