- ret = silc_calloc(len1 + len2 + len3 + 2 + 1, sizeof(char));
-
- strncpy(ret, SILC_SIM_SYMBOL_PREFIX, len3);
- strncat(ret, "_", 1);
- strncat(ret, symbol, len1);
- strncat(ret, "_", 1);
- strncat(ret, function, len2);
-
- return ret;
+ memset(symname, 0, sizeof(symname));
+ silc_strncat(symname, sizeof(symname), SILC_SIM_SYMBOL_PREFIX, len3);
+ silc_strncat(symname, sizeof(symname), "_", 1);
+ silc_strncat(symname, sizeof(symname), symbol, len1);
+ silc_strncat(symname, sizeof(symname), "_", 1);
+ silc_strncat(symname, sizeof(symname), function, len2);
+
+ return symname;