Skip to content

Instantly share code, notes, and snippets.

@zedshaw
Created April 9, 2014 22:18
Show Gist options
  • Save zedshaw/10324409 to your computer and use it in GitHub Desktop.
Save zedshaw/10324409 to your computer and use it in GitHub Desktop.
Checking SILC toolkit for exploitable string functions
Checking silc tookit for bad string functions using:
egrep -r '[^_.>a-zA-Z0-9](str(n?cpy|n?cat|xfrm|n?dup|str|pbrk|tok|_)|stpn?cpy|a?sn?printf|byte_)' .
Result is below. Not great but about 300 is a manageable target to audit and improve.
./contrib/regexpr.c: strcpy(buf, "end");
./contrib/regexpr.c: strcpy(buf, "bol");
./contrib/regexpr.c: strcpy(buf, "eol");
./contrib/regexpr.c: strcpy(buf, "set ");
./contrib/regexpr.c: sprintf(buf+strlen(buf)," %02x",
./contrib/regexpr.c: sprintf(buf, "exact '%c' 0x%x", exp.buffer[pos],
./contrib/regexpr.c: strcpy(buf, "anychar");
./contrib/regexpr.c: sprintf(buf, "start_memory %d", exp.buffer[pos++]);
./contrib/regexpr.c: sprintf(buf, "end_memory %d", exp.buffer[pos++]);
./contrib/regexpr.c: sprintf(buf, "match_memory %d", exp.buffer[pos++]);
./contrib/regexpr.c: sprintf(buf, "%s %d", cp, a + pos);
./contrib/regexpr.c: strcpy(buf,"begbuf");
./contrib/regexpr.c: strcpy(buf,"endbuf");
./contrib/regexpr.c: strcpy(buf,"wordbeg");
./contrib/regexpr.c: strcpy(buf,"wordend");
./contrib/regexpr.c: strcpy(buf,"wordbound");
./contrib/regexpr.c: strcpy(buf,"notwordbound");
./contrib/regexpr.c: sprintf(buf, "unknown code %d",
./contrib/stringprep.c: strcpy (in, utf8); /* flawfinder: ignore */
./contrib/stringprep.c: strcpy (str, in);
./silcapputil/silcapputil.c: char *pkfile = pub_filename ? strdup(pub_filename) : NULL;
./silcapputil/silcapputil.c: char *prvfile = prv_filename ? strdup(prv_filename) : NULL;
./silcapputil/silcapputil.c: char *alg = pkcs_name ? strdup(pkcs_name) : NULL;
./silcapputil/silcapputil.c: char *identifier = pub_identifier ? strdup(pub_identifier) : NULL;
./silcapputil/silcapputil.c: char *pass = passphrase ? strdup(passphrase) : NULL;
./silcapputil/silcapputil.c: alg = strdup("rsa");
./silcapputil/silcapputil.c: alg = strdup("rsa");
./silcapputil/silcapputil.c: identifier = strdup(def);
./silcapputil/silcapputil.c: identifier = strdup(def);
./silcapputil/silcapputil.c: if (!strstr(identifier, "UN=") || !strstr(identifier, "HN=")) {
./silcapputil/silcapputil.c: pkfile = strdup("public_key.pub");
./silcapputil/silcapputil.c: prvfile = strdup("private_key.prv");
./silcapputil/silcapputil.c: pass = strdup("");
./silcapputil/silcapputil.c: pass2 = strdup("");
./silcapputil/silcapputil.c: char *pass = passphrase ? strdup(passphrase) : NULL;
./silcapputil/silcapputil.c: pass = strdup("");
./silcapputil/silcapputil.c: pass = old_passphrase ? strdup(old_passphrase) : NULL;
./silcapputil/silcapputil.c: pass = strdup("");
./silcapputil/silcapputil.c: pass = new_passphrase ? strdup(new_passphrase) : NULL;
./silcapputil/silcapputil.c: pass = strdup("");
./silcapputil/silcapputil.c: pass2 = strdup("");
./silcapputil/silcapputil.c: if (!strstr(version, "SILC-"))
./silcapputil/silcapputil.c: *protocol_version_string = strdup(buf);
./silcapputil/silcapputil.c: *software_version_string = strdup(buf);
./silcapputil/silcapputil.c: *vendor_version = strdup(cp);
./silcapputil/silcapputil.c: *vendor_version = strdup(cp);
./silcapputil/silcapputil.c: strncat(string, "p", 1);
./silcapputil/silcapputil.c: strncat(string, "s", 1);
./silcapputil/silcapputil.c: strncat(string, "k", 1);
./silcapputil/silcapputil.c: strncat(string, "i", 1);
./silcapputil/silcapputil.c: strncat(string, "t", 1);
./silcapputil/silcapputil.c: strncat(string, "l", 1);
./silcapputil/silcapputil.c: strncat(string, "a", 1);
./silcapputil/silcapputil.c: strncat(string, "f", 1);
./silcapputil/silcapputil.c: strncat(string, "C", 1);
./silcapputil/silcapputil.c: strncat(string, "m", 1);
./silcapputil/silcapputil.c: strncat(string, "M", 1);
./silcapputil/silcapputil.c: strncat(string, "c", 1);
./silcapputil/silcapputil.c: strncat(string, "h", 1);
./silcapputil/silcapputil.c: strncat(string, " ", 1);
./silcapputil/silcapputil.c: strncat(string, cipher, strlen(cipher));
./silcapputil/silcapputil.c: strncat(string, " ", 1);
./silcapputil/silcapputil.c: strncat(string, hmac, strlen(hmac));
./silcapputil/silcapputil.c: return strdup(string);
./silcapputil/silcapputil.c: strncat(string, "f", 1);
./silcapputil/silcapputil.c: strncat(string, "o", 1);
./silcapputil/silcapputil.c: strncat(string, "b", 1);
./silcapputil/silcapputil.c: strncat(string, "u", 1);
./silcapputil/silcapputil.c: strncat(string, "r", 1);
./silcapputil/silcapputil.c: strncat(string, "q", 1);
./silcapputil/silcapputil.c: return strdup(string);
./silcapputil/silcapputil.c: strncat(string, "*", 1);
./silcapputil/silcapputil.c: strncat(string, "@", 1);
./silcapputil/silcapputil.c: strncat(string, "&", 1);
./silcapputil/silcapputil.c: return strdup(string);
./silcapputil/silcapputil.c: strncat(__d__, __s__, (sizeof(__d__) - 1) - strlen(__d__)); \
./silcapputil/silcapputil.c: strncat(__d__, __s__, strlen(__s__)); \
./silcasn1/silcasn1.h: * SILC_ASN1_BIT_STRING(str, str_len)
./silcasn1/silcasn1.h: * SILC_ASN1_BIT_STRING_T(opts, tag, str, str_len)
./silcasn1/silcasn1.h: * SILC_ASN1_BIT_STRING(&str, &str_len)
./silcasn1/silcasn1.h: * SILC_ASN1_BIT_STRING_T(opts, tag, &str, &str_len)
./silcasn1/silcasn1.h: * SILC_ASN1_OCTET_STRING(str, str_len)
./silcasn1/silcasn1.h: * SILC_ASN1_OCTET_STRING_T(opts, tag, str, str_len)
./silcasn1/silcasn1.h: * SILC_ASN1_OCTET_STRING(&str, &str_len)
./silcasn1/silcasn1.h: * SILC_ASN1_OCTET_STRING_T(opts, tag, &str, &str_len)
./silcasn1/silcasn1.h: * SILC_ASN1_UTF8_STRING(str, str_len)
./silcasn1/silcasn1.h: * SILC_ASN1_UTF8_STRING_T(opts, tag, str, str_len)
./silcasn1/silcasn1.h: * SILC_ASN1_UTF8_STRING(&str, &str_len)
./silcasn1/silcasn1.h: * SILC_ASN1_UTF8_STRING_T(opts, tag, &str, &str_len)
./silcasn1/silcasn1.h: * SILC_ASN1_NUMERIC_STRING(str, str_len)
./silcasn1/silcasn1.h: * SILC_ASN1_NUMERIC_STRING_T(opts, tag, str, str_len)
./silcasn1/silcasn1.h: * SILC_ASN1_NUMERIC_STRING(&str, &str_len)
./silcasn1/silcasn1.h: * SILC_ASN1_NUMERIC_STRING_T(opts, tag, &str, &str_len)
./silcasn1/silcasn1.h: * SILC_ASN1_PRINTABLE_STRING(str, str_len)
./silcasn1/silcasn1.h: * SILC_ASN1_PRINTABLE_STRING_T(opts, tag, str, str_len)
./silcasn1/silcasn1.h: * SILC_ASN1_PRINTABLE_STRING(&str, &str_len)
./silcasn1/silcasn1.h: * SILC_ASN1_PRINTABLE_STRING_T(opts, tag, &str, &str_len)
./silcasn1/silcasn1.h: * SILC_ASN1_TELETEX_STRING(str, str_len)
./silcasn1/silcasn1.h: * SILC_ASN1_TELETEX_STRING_T(opts, tag, str, str_len)
./silcasn1/silcasn1.h: * SILC_ASN1_TELETEX_STRING(&str, &str_len)
./silcasn1/silcasn1.h: * SILC_ASN1_TELETEX_STRING_T(opts, tag, &str, &str_len)
./silcasn1/silcasn1.h: * SILC_ASN1_IA5_STRING(str, str_len)
./silcasn1/silcasn1.h: * SILC_ASN1_IA5_STRING_T(opts, tag, str, str_len)
./silcasn1/silcasn1.h: * SILC_ASN1_IA5_STRING(&str, &str_len)
./silcasn1/silcasn1.h: * SILC_ASN1_IA5_STRING_T(opts, tag, &str, &str_len)
./silcasn1/silcasn1.h: * SILC_ASN1_VISIBLE_STRING(str, str_len)
./silcasn1/silcasn1.h: * SILC_ASN1_VISIBLE_STRING_T(opts, tag, str, str_len)
./silcasn1/silcasn1.h: * SILC_ASN1_VISIBLE_STRING(&str, &str_len)
./silcasn1/silcasn1.h: * SILC_ASN1_VISIBLE_STRING_T(opts, tag, &str, &str_len)
./silcasn1/silcasn1.h: * SILC_ASN1_UNIVERSAL_STRING(str, str_len)
./silcasn1/silcasn1.h: * SILC_ASN1_UNIVERSAL_STRING_T(opts, tag, str, str_len)
./silcasn1/silcasn1.h: * SILC_ASN1_UNIVERSAL_STRING(&str, &str_len)
./silcasn1/silcasn1.h: * SILC_ASN1_UNIVERSAL_STRING_T(opts, tag, &str, &str_len)
./silcasn1/silcasn1.h: * SILC_ASN1_BMP_STRING(str, str_len)
./silcasn1/silcasn1.h: * SILC_ASN1_BMP_STRING_T(opts, tag, str, str_len)
./silcasn1/silcasn1.h: * SILC_ASN1_BMP_STRING(&str, &str_len)
./silcasn1/silcasn1.h: * SILC_ASN1_BMP_STRING_T(opts, tag, &str, &str_len)
./silcasn1/silcasn1.h: * SILC_ASN1_UNRESTRICTED_STRING(str, str_len)
./silcasn1/silcasn1.h: * SILC_ASN1_UNRESTRICTED_STRING_T(opts, tag, str, str_len)
./silcasn1/silcasn1.h: * SILC_ASN1_UNRESTRICTED_STRING(&str, &str_len)
./silcasn1/silcasn1.h: * SILC_ASN1_UNRESTRICTED_STRING_T(opts, tag, &str, &str_len)
./silcasn1/silcasn1.h: * SILC_ASN1_GENERAL_STRING(str, str_len)
./silcasn1/silcasn1.h: * SILC_ASN1_GENERAL_STRING_T(opts, tag, str, str_len)
./silcasn1/silcasn1.h: * SILC_ASN1_GENERAL_STRING(&str, &str_len)
./silcasn1/silcasn1.h: * SILC_ASN1_GENERAL_STRING_T(opts, tag, &str, &str_len)
./silcasn1/tests/test_silcasn1.c: SilcUInt32 str_len, tmpint;
./silcasn1/tests/test_silcasn1.c: SILC_ASN1_OCTET_STRING(&str, &str_len),
./silcasn1/tests/test_silcasn1.c: SILC_LOG_DEBUG(("Ooctet-string %s, len %d", str, str_len));
./silcasn1/tests/test_silcasn1.c: str_len = 198761;
./silcasn1/tests/test_silcasn1.c: SILC_LOG_DEBUG(("Short integer: %d", str_len));
./silcasn1/tests/test_silcasn1.c: SILC_ASN1_SHORT_INT(str_len),
./silcasn1/tests/test_silcasn1.c: SILC_ASN1_SHORT_INT(&str_len),
./silcasn1/tests/test_silcasn1.c: SILC_LOG_DEBUG(("Short integer: %d", str_len));
./silcclient/client.c: conn->remote_host = strdup(remote_host);
./silcclient/client.c: new_client->internal->silc_client_version = strdup(version_string);
./silcclient/client.c: client->username = strdup(username);
./silcclient/client.c: client->hostname = strdup(hostname);
./silcclient/client.c: client->realname = strdup(realname);
./silcclient/client_channel.c: entry->name = name ? strdup(name) : NULL;
./silcclient/client_entry.c: client_entry->realname = userinfo ? strdup(userinfo) : NULL;
./silcclient/client_entry.c: client_entry->realname = strdup(userinfo);
./silcclient/client_entry.c: channel->channel_name = strdup(channel_name);
./silcclient/client_entry.c: channel->channel_name = strdup(name);
./silcclient/client_entry.c: server_entry->server_name = strdup(server_name);
./silcclient/client_entry.c: server_entry->server_info = strdup(server_info);
./silcclient/client_entry.c: server_entry->server_name = strdup(server_name);
./silcclient/client_entry.c: server_entry->server_info = strdup(server_info);
./silcclient/client_ftp.c: session->filepath = strdup(filepath);
./silcclient/client_ftp.c: remote_file = strdup(session->filepath);
./silcclient/client_ftp.c: session->filepath = strdup(name->filename[0]);
./silcclient/client_ftp.c: session->filepath = strdup(filepath);
./silcclient/client_ftp.c: session->hostname = (params->bind_ip ? strdup(params->bind_ip) :
./silcclient/client_ftp.c: strdup(params->local_ip));
./silcclient/client_ftp.c: session->path = path ? strdup(path) : NULL;
./silcclient/client_ftp.c: session->hostname = (params->bind_ip ? strdup(params->bind_ip) :
./silcclient/client_ftp.c: strdup(params->local_ip));
./silcclient/client_ftp.c: session->hostname = strdup(hostname);
./silcclient/client_ftp.c: session->hostname = strdup(hostname);
./silcclient/client_prvmsg.c: conn->internal->away_message = strdup(message);
./silcclient/command.c: cmd->name = name ? strdup(name) : NULL;
./silcclient/command.c: nickname = strdup(cmd->argv[1]);
./silcclient/command.c: passphrase = strdup(cmd->argv[i]);
./silccore/silcpacket.c: ps->remote_udp->remote_ip = strdup(remote_ip);
./silccore/silcpacket.c: ps->remote_udp->remote_ip = strdup(remote_ip);
./silccrypt/silccipher.c: new->name = strdup(cipher->name);
./silccrypt/silchash.c: new->name = strdup(hash->name);
./silccrypt/silchash.c: new->oid = strdup(hash->oid);
./silccrypt/silchmac.c: new->name = strdup(hmac->name);
./silccrypt/silchmac.c: char *tmp = strdup(name), *hname;
./silccrypt/silcpk.c: if (!strstr(identifier, "UN=") || !strstr(identifier, "HN=")) {
./silccrypt/silcpk.c: if (strstr(item, "UN="))
./silccrypt/silcpk.c: ident->username = strdup(item + strcspn(cp, "=") + 1);
./silccrypt/silcpk.c: else if (strstr(item, "HN="))
./silccrypt/silcpk.c: ident->host = strdup(item + strcspn(cp, "=") + 1);
./silccrypt/silcpk.c: else if (strstr(item, "RN="))
./silccrypt/silcpk.c: ident->realname = strdup(item + strcspn(cp, "=") + 1);
./silccrypt/silcpk.c: else if (strstr(item, "E="))
./silccrypt/silcpk.c: ident->email = strdup(item + strcspn(cp, "=") + 1);
./silccrypt/silcpk.c: else if (strstr(item, "O="))
./silccrypt/silcpk.c: ident->org = strdup(item + strcspn(cp, "=") + 1);
./silccrypt/silcpk.c: else if (strstr(item, "C="))
./silccrypt/silcpk.c: ident->country = strdup(item + strcspn(cp, "=") + 1);
./silccrypt/silcpk.c: else if (strstr(item, "V="))
./silccrypt/silcpk.c: ident->version = strdup(item + strcspn(cp, "=") + 1);
./silccrypt/silcpkcs.c: newalg->name = strdup(pkcs->name);
./silccrypt/silcpkcs.c: newalg->scheme = strdup(pkcs->scheme);
./silccrypt/silcpkcs.c: newalg->hash = strdup(pkcs->hash);
./silccrypt/silcrng.c: new->devrandom = strdup("/dev/random");
./silccrypt/silcrng.c: rng->devrandom = strdup("/dev/urandom");
./silccrypt/silcrng.c: sprintf(string + 2 * i, "%02x", silc_rng_get_byte(rng));
./silchttp/silchttpserver.c: if (strstr(tmp, "HTTP/1.0"))
./silchttp/silchttpserver.c: if (strstr(tmp, "HTTP/1.1"))
./silchttp/silchttpserver.c: if (strstr(tmp, "HTTP/1.2"))
./silchttp/tests/test_silchttpserver.c: else if (strstr(uri, ".jpg"))
./silchttp/tests/test_silchttpserver.c: else if (strstr(uri, ".gif"))
./silchttp/tests/test_silchttpserver.c: else if (strstr(uri, ".png"))
./silchttp/tests/test_silchttpserver.c: else if (strstr(uri, ".css"))
./silchttp/tests/test_silchttpserver.c: else if (strstr(uri, ".htm"))
./silchttp/tests/test_silchttpserver.c: else if (strstr(uri, ".php"))
./silchttp/tests/test_silchttpserver.c: if (strstr(uri, ".php"))
./silchttp/tests/test_silchttpserver.c: snprintf(filename, sizeof(filename), "%s/index.html", htdocs);
./silchttp/tests/test_silchttpserver.c: snprintf(filename, sizeof(filename), "%s%s", htdocs, uri);
./silcsftp/sftp_fs_memory.c: if (!strstr(path, "./") && !strstr(path, "../") &&
./silcsftp/sftp_fs_memory.c: !strstr(path, "/..") && !strstr(path, "/."))
./silcsftp/sftp_fs_memory.c: return strdup(path);
./silcsftp/sftp_fs_memory.c: fs->root->name = strdup(DIR_SEPARATOR);
./silcsftp/sftp_fs_memory.c: entry->name = strdup(name);
./silcsftp/sftp_fs_memory.c: memfs->root->name = strdup(DIR_SEPARATOR);
./silcsftp/sftp_fs_memory.c: entry->name = strdup(filename);
./silcsftp/sftp_fs_memory.c: entry->data = strdup(realpath);
./silcsftp/sftp_util.c: name->filename[name->count] = strdup(short_name);
./silcsftp/sftp_util.c: name->long_filename[name->count] = strdup(long_name);
./silcsim/silcsim.c: sim->libname = strdup(libname);
./silcske/silcske.c: payload->version = strdup(ske->version);
./silcske/silcske.c: payload->ke_grp_list = strdup(rp->ke_grp_list);
./silcske/silcske.c: payload->pkcs_alg_list = strdup(rp->pkcs_alg_list);
./silcske/silcske.c: payload->enc_alg_list = strdup(rp->enc_alg_list);
./silcske/silcske.c: payload->hash_alg_list = strdup(rp->hash_alg_list);
./silcske/silcske.c: payload->hmac_alg_list = strdup(rp->hmac_alg_list);
./silcske/silcske.c: rp->version = strdup(version);
./silcske/silcske.c: rp->comp_alg_list = strdup("none");
./silcutil/silcbuffmt.h: * SILC_STR_SHORT(str_len),
./silcutil/silcbuffmt.h: * SILC_STR_DATA(str, str_len),
./silcutil/silcbuffmt.h: * buf = silc_buffer_alloc(2 + str_len);
./silcutil/silcbuffmt.h: * SILC_STR_UI_SHORT(str_len),
./silcutil/silcbuffmt.h: * SILC_STR_DATA(str, str_len),
./silcutil/silcbuffmt.h: * SILC_STR_UI16_NSTRING_ALLOC(&str, &str_len),
./silcutil/silcconfig.c: pt = (void *) strdup(val);
./silcutil/silcconfig.c: ret->filename = strdup(configfile);
./silcutil/silcconfig.c: newopt->name = strdup(name);
./silcutil/silclog.c: string = strdup(debug_string);
./silcutil/silclog.c: strncpy(silclog.debug_string, string, len);
./silcutil/silcmime.c: if (field && strstr(field, "multipart")) {
./silcutil/silcmime.c: strncpy(b, value, len);
./silcutil/silcmime.c: line = strdup(value);
./silcutil/silcmime.c: mime->boundary = strdup(line + 1);
./silcutil/silcmime.c: mime->boundary = strdup(line);
./silcutil/silcmime.c: tmp = strstr(type, "id=");
./silcutil/silcmime.c: id = strdup(tmp);
./silcutil/silcmime.c: tmp = strstr(type, "number=");
./silcutil/silcmime.c: tmp = strdup(tmp);
./silcutil/silcmime.c: tmp = strstr(type, "total=");
./silcutil/silcmime.c: tmp = strdup(tmp);
./silcutil/silcmime.c: silc_hash_table_add(mime->fields, strdup(field), strdup(value));
./silcutil/silcmime.c: if (!strstr(type, "message/partial"))
./silcutil/silcmime.c: mime->boundary = strdup(boundary);
./silcutil/silcnet.c: r->result = strdup(tmp);
./silcutil/silcnet.c: r->result = strdup(tmp);
./silcutil/silcnet.c: strncpy(address, name, strlen(name));
./silcutil/silcnet.c: strncpy(address, tmp, strlen(tmp));
./silcutil/silcnet.c: r->input = strdup(name);
./silcutil/silcnet.c: strncpy(name, hp->h_name, strlen(hp->h_name));
./silcutil/silcnet.c: r->input = strdup(addr);
./silcutil/silcnet.c: return strdup(hostname);
./silcutil/silcnet.c: return strdup(hostname);
./silcutil/silcnet.c: return strdup(ip_addr);
./silcutil/silcsnprintf.c: * snprintf() is used instead of sprintf() as it does limit checks
./silcutil/silcsnprintf.c: * gcc -DTEST_SNPRINTF -o snprintf snprintf.c -lm
./silcutil/silcsnprintf.c: * and run snprintf for results.
./silcutil/silcsnprintf.c: * The original code assumed that both snprintf() and vsnprintf() were
./silcutil/silcsnprintf.c: * missing. Some systems only have snprintf() but not vsnprintf(), so
./silcutil/silcsnprintf.c: * is 6, and sprintf on AIX defaults to 6
./silcutil/silcsnprintf.h: * Platform independent version of snprintf and other similar string
./silcutil/silcsnprintf.h: * snprintf(3) and printf(3) formatting. Returns the number of character
./silcutil/silcsocketstream.c: stream->hostname = strdup(stream->ip);
./silcutil/silcsocketstream.c: socket_stream->hostname = strdup(hostname);
./silcutil/silcsocketstream.c: socket_stream->ip = strdup(ip);
./silcutil/silcsocketstream.c: socket_stream->hostname = strdup(ip);
./silcutil/silcstrutil.c: strncat(dest, src, len);
./silcutil/silcstrutil.c: strncat(dest, src, src_len);
./silcutil/silcstrutil.c: strncpy(tmpstr2, tmpstr1, i);
./silcutil/silcstrutil.c: strncat(tmp, string1, len1 - 2);
./silcutil/silcstrutil.c: strncat(tmp, "|", 1);
./silcutil/silcstrutil.c: strncat(tmp, string2 + 1, len2 - 1);
./silcutil/silcutil.c: return strdup(buf);
./silcutil/silcutil.c: return strdup(input);
./silcutil/stacktrace.h:#undef strdup
./silcutil/stacktrace.h:#define strdup(s) silc_st_strdup((s), __FILE__, __LINE__)
./silcutil/symbian/silcsymbiannet.cpp: conn->remote = strdup(remote_ip_addr);
./silcutil/symbian/silcsymbianutil.cpp: return strdup("User");
./silcutil/symbian/silcsymbianutil.cpp: return strdup(logname);
./silcutil/symbian/silcsymbianutil.cpp: return strdup("Symbian");
./silcutil/symbian/silcsymbianutil.cpp: return strdup("No Name");
./silcutil/symbian/silcsymbianutil.cpp: return strdup("No Name");
./silcutil/symbian/silcsymbianutil.cpp: realname = strdup(pw->pw_gecos);
./silcutil/symbian/silcsymbianutil.cpp: return strdup("Lastname");
./silcutil/unix/silcunixnet.c: conn->local_ip = strdup(local_ip_addr);
./silcutil/unix/silcunixnet.c: conn->remote = strdup(remote_ip_addr);
./silcutil/unix/silcunixutil.c: return strdup("foo");
./silcutil/unix/silcunixutil.c: return strdup(logname);
./silcutil/unix/silcunixutil.c: return strdup("No Name");
./silcutil/unix/silcunixutil.c: return strdup("No Name");
./silcutil/unix/silcunixutil.c: realname = strdup(pw->pw_gecos);
./silcutil/win32/silcwin32net.c: conn->local_ip = strdup(local_ip_addr);
./silcutil/win32/silcwin32net.c: conn->remote = strdup(remote_ip_addr);
./silcutil/win32/silcwin32schedule.c: internal->wclass.lpszClassName = (CHAR *)strdup(n);
./silcutil/win32/silcwin32util.c: return strdup(username);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment