Flawfinder version 2.0.10, (C) 2001-2019 David A. Wheeler. Number of rules (primarily dangerous function names) in C/C++ ruleset: 223 Examining data/libsmpp34-1.14.0/src/smpp34.h Examining data/libsmpp34-1.14.0/src/smpp34_dumpBuf.c Examining data/libsmpp34-1.14.0/src/smpp34_dumpPdu.c Examining data/libsmpp34-1.14.0/src/smpp34_heap.c Examining data/libsmpp34-1.14.0/src/smpp34_heap.h Examining data/libsmpp34-1.14.0/src/smpp34_pack.c Examining data/libsmpp34-1.14.0/src/smpp34_params.c Examining data/libsmpp34-1.14.0/src/smpp34_params.h Examining data/libsmpp34-1.14.0/src/smpp34_structs.c Examining data/libsmpp34-1.14.0/src/smpp34_structs.h Examining data/libsmpp34-1.14.0/src/smpp34_unpack.c Examining data/libsmpp34-1.14.0/test_apps/analizer.c Examining data/libsmpp34-1.14.0/test_apps/esme.c Examining data/libsmpp34-1.14.0/test_apps/esme.h Examining data/libsmpp34-1.14.0/test_apps/sendwp.c Examining data/libsmpp34-1.14.0/test_apps/sendwp.h Examining data/libsmpp34-1.14.0/test_apps/smpp.c Examining data/libsmpp34-1.14.0/test_apps/smpp_smsc.c Examining data/libsmpp34-1.14.0/test_apps/smpp_smsc.h Examining data/libsmpp34-1.14.0/test_apps/smsc_main.c Examining data/libsmpp34-1.14.0/test_apps/tcp.c Examining data/libsmpp34-1.14.0/test_pdu/alert_notification_test.c Examining data/libsmpp34-1.14.0/test_pdu/bind_receiver_resp_test.c Examining data/libsmpp34-1.14.0/test_pdu/bind_receiver_test.c Examining data/libsmpp34-1.14.0/test_pdu/bind_transceiver_resp_test.c Examining data/libsmpp34-1.14.0/test_pdu/bind_transceiver_test.c Examining data/libsmpp34-1.14.0/test_pdu/bind_transmitter_resp_test.c Examining data/libsmpp34-1.14.0/test_pdu/bind_transmitter_test.c Examining data/libsmpp34-1.14.0/test_pdu/cancel_sm_resp_test.c Examining data/libsmpp34-1.14.0/test_pdu/cancel_sm_test.c Examining data/libsmpp34-1.14.0/test_pdu/core.c Examining data/libsmpp34-1.14.0/test_pdu/core.h Examining data/libsmpp34-1.14.0/test_pdu/data_sm_resp_test.c Examining data/libsmpp34-1.14.0/test_pdu/data_sm_test.c Examining data/libsmpp34-1.14.0/test_pdu/deliver_sm_resp_test.c Examining data/libsmpp34-1.14.0/test_pdu/deliver_sm_test.c Examining data/libsmpp34-1.14.0/test_pdu/enquire_link_resp_test.c Examining data/libsmpp34-1.14.0/test_pdu/enquire_link_test.c Examining data/libsmpp34-1.14.0/test_pdu/generic_nack_test.c Examining data/libsmpp34-1.14.0/test_pdu/outbind_test.c Examining data/libsmpp34-1.14.0/test_pdu/query_sm_resp_test.c Examining data/libsmpp34-1.14.0/test_pdu/query_sm_test.c Examining data/libsmpp34-1.14.0/test_pdu/replace_sm_resp_test.c Examining data/libsmpp34-1.14.0/test_pdu/replace_sm_test.c Examining data/libsmpp34-1.14.0/test_pdu/submit_multi_resp_test.c Examining data/libsmpp34-1.14.0/test_pdu/submit_multi_test.c Examining data/libsmpp34-1.14.0/test_pdu/submit_sm_resp_test.c Examining data/libsmpp34-1.14.0/test_pdu/submit_sm_test.c Examining data/libsmpp34-1.14.0/test_pdu/unbind_resp_test.c Examining data/libsmpp34-1.14.0/test_pdu/unbind_test.c FINAL RESULTS: data/libsmpp34-1.14.0/src/smpp34_dumpPdu.c:85:14: [4] (format) snprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. lenval = snprintf((char*)l_dest, sizeof(l_dest),\ data/libsmpp34-1.14.0/src/smpp34_structs.h:249:16: [4] (format) snprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. lenerror = snprintf((char*)ptrerror,lefterror,format,#param,value,parse);\ data/libsmpp34-1.14.0/test_apps/analizer.c:97:18: [3] (buffer) getopt: Some older implementations do not protect against internal buffer overflows (CWE-120, CWE-20). Check implementation on installation, or limit the size of all string inputs. while( (co = getopt(argc, argv, "f:h")) != EOF ){ data/libsmpp34-1.14.0/test_apps/esme.c:52:18: [3] (buffer) getopt: Some older implementations do not protect against internal buffer overflows (CWE-120, CWE-20). Check implementation on installation, or limit the size of all string inputs. while( (co = getopt(argc, argv, "c:h")) != EOF ){ data/libsmpp34-1.14.0/test_apps/sendwp.c:53:18: [3] (buffer) getopt: Some older implementations do not protect against internal buffer overflows (CWE-120, CWE-20). Check implementation on installation, or limit the size of all string inputs. while( (co = getopt(argc, argv, "c:h")) != EOF ){ data/libsmpp34-1.14.0/src/smpp34_dumpBuf.c:39:8: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. extern char smpp34_strerror[2048]; data/libsmpp34-1.14.0/src/smpp34_dumpBuf.c:63:25: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. dest += sprintf((char*)dest, "%*c%02X ", ind, ' ', (uint8_t)buffer[i]); data/libsmpp34-1.14.0/src/smpp34_dumpBuf.c:67:25: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. dest += sprintf((char*)dest, "%02X ", (uint8_t)buffer[i]); data/libsmpp34-1.14.0/src/smpp34_dumpBuf.c:71:25: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. dest += sprintf((char*)dest, "%02X ", (uint8_t)buffer[i]); data/libsmpp34-1.14.0/src/smpp34_dumpBuf.c:76:33: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. dest += sprintf((char*)dest, "%c", buffer[j]); data/libsmpp34-1.14.0/src/smpp34_dumpBuf.c:84:25: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. dest += sprintf((char*)dest, "%02X ", (uint8_t)buffer[i]); data/libsmpp34-1.14.0/src/smpp34_dumpBuf.c:92:21: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. dest += sprintf((char*)dest, " "); data/libsmpp34-1.14.0/src/smpp34_dumpBuf.c:94:25: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. dest += sprintf((char*)dest, " "); data/libsmpp34-1.14.0/src/smpp34_dumpBuf.c:96:17: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. dest += sprintf((char*)dest, " "); data/libsmpp34-1.14.0/src/smpp34_dumpBuf.c:102:25: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. dest += sprintf((char*)dest, "%c", (char) buffer[j]); data/libsmpp34-1.14.0/src/smpp34_dumpPdu.c:38:8: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. extern char smpp34_strerror[2048]; data/libsmpp34-1.14.0/src/smpp34_dumpPdu.c:46:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char dummy_b[SMALL_BUFF]; data/libsmpp34-1.14.0/src/smpp34_dumpPdu.c:169:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(&l_lenval, ((inst par) - sizeof(uint16_t)), sizeof(uint16_t));\ data/libsmpp34-1.14.0/src/smpp34_dumpPdu.c:239:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(&cmdid, tt+4, sizeof(uint32_t)); data/libsmpp34-1.14.0/src/smpp34_pack.c:38:8: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. extern char smpp34_strerror[2048]; data/libsmpp34-1.14.0/src/smpp34_pack.c:46:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char dummy_b[SMALL_BUFF]; data/libsmpp34-1.14.0/src/smpp34_pack.c:75:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(aux, &v32, lenval);\ data/libsmpp34-1.14.0/src/smpp34_pack.c:93:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(aux, &v16, lenval);\ data/libsmpp34-1.14.0/src/smpp34_pack.c:110:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(aux,&inst par, sizeof(inst par));\ data/libsmpp34-1.14.0/src/smpp34_pack.c:130:9: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(aux, &inst par, sizeval);\ data/libsmpp34-1.14.0/src/smpp34_pack.c:136:9: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(aux, &inst par, lenval);\ data/libsmpp34-1.14.0/src/smpp34_pack.c:153:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(aux, &inst par, (lenval > sizeval)?sizeval:lenval);\ data/libsmpp34-1.14.0/src/smpp34_pack.c:161:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(&l_lenval, ((inst par) - sizeof(uint16_t)), sizeof(uint16_t));\ data/libsmpp34-1.14.0/src/smpp34_pack.c:171:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(aux, &inst par, (l_lenval > sizeval)?sizeval:l_lenval);\ data/libsmpp34-1.14.0/src/smpp34_pack.c:217:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(aux2, &v, sizeof(uint32_t)); /* escribe largo en el dest */ data/libsmpp34-1.14.0/src/smpp34_pack.c:229:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(&cmdid, tt+4, sizeof(uint32_t)); data/libsmpp34-1.14.0/src/smpp34_params.c:42:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(dummy, source, sizeof( udad_t )); data/libsmpp34-1.14.0/src/smpp34_params.c:77:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(dummy, source, sizeof( dad_t )); data/libsmpp34-1.14.0/src/smpp34_params.c:111:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(dummy, source, sizeof( tlv_t )); data/libsmpp34-1.14.0/src/smpp34_params.c:213:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char numero[20]; data/libsmpp34-1.14.0/src/smpp34_structs.c:37:1: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char smpp34_strerror[2048]; data/libsmpp34-1.14.0/src/smpp34_structs.h:37:8: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. extern char smpp34_strerror[2048]; data/libsmpp34-1.14.0/src/smpp34_unpack.c:39:8: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. extern char smpp34_strerror[2048]; data/libsmpp34-1.14.0/src/smpp34_unpack.c:47:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char dummy_b[SMALL_BUFF]; data/libsmpp34-1.14.0/src/smpp34_unpack.c:67:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(&inst par, aux, lenval);\ data/libsmpp34-1.14.0/src/smpp34_unpack.c:85:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(&inst par, aux, lenval);\ data/libsmpp34-1.14.0/src/smpp34_unpack.c:103:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(&inst par, aux, lenval);\ data/libsmpp34-1.14.0/src/smpp34_unpack.c:141:9: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(inst par, aux, lenval);\ data/libsmpp34-1.14.0/src/smpp34_unpack.c:158:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(&inst par, aux, (lenval>size)?size:lenval);\ data/libsmpp34-1.14.0/src/smpp34_unpack.c:165:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(&l_lenval, (inst par - sizeof(uint16_t)), sizeof(uint16_t));\ data/libsmpp34-1.14.0/src/smpp34_unpack.c:176:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(&(inst par), aux, (l_lenval>size)?size:l_lenval);\ data/libsmpp34-1.14.0/src/smpp34_unpack.c:232:9: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(&len_orig, tt, sizeof(uint32_t)); data/libsmpp34-1.14.0/src/smpp34_unpack.c:248:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(&tempo, ptrBuf + 4, sizeof(uint32_t)); /* get command_id PDU */ data/libsmpp34-1.14.0/test_apps/analizer.c:37:1: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char file_pdu[256]; data/libsmpp34-1.14.0/test_apps/analizer.c:115:15: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if( (fd = fopen(file_pdu, "r")) == NULL ){ data/libsmpp34-1.14.0/test_apps/analizer.c:127:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(&tt, (bufPDU+4), 4); id = ntohl( tt ); data/libsmpp34-1.14.0/test_apps/esme.c:34:1: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char file_config[256]; data/libsmpp34-1.14.0/test_apps/sendwp.c:34:1: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char file_config[256]; data/libsmpp34-1.14.0/test_apps/smpp.c:43:8: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. extern char smpp34_strerror[2048]; data/libsmpp34-1.14.0/test_apps/smpp.c:138:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char message[256]; data/libsmpp34-1.14.0/test_apps/smpp.c:176:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(b.short_message, TEXTO, b.sm_length); data/libsmpp34-1.14.0/test_apps/smpp.c:180:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(tlv.value.octet, message, tlv.length); data/libsmpp34-1.14.0/test_apps/smpp.c:210:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char message[512]; data/libsmpp34-1.14.0/test_apps/smpp_smsc.c:153:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[SMALL_BUFF]; data/libsmpp34-1.14.0/test_apps/smpp_smsc.c:461:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(cur, lenptr, sizeof(uint32_t)); data/libsmpp34-1.14.0/test_apps/smpp_smsc.c:538:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(&esme->sa, s, esme->sa_len); data/libsmpp34-1.14.0/test_apps/smpp_smsc.h:36:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char system_id[16+1]; data/libsmpp34-1.14.0/test_apps/smpp_smsc.h:44:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char system_id[16+1]; data/libsmpp34-1.14.0/test_apps/smsc_main.c:39:2: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(smsc->system_id, "OpenBSC"); data/libsmpp34-1.14.0/test_apps/tcp.c:51:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char h[256], local_src[256]; data/libsmpp34-1.14.0/test_apps/tcp.c:52:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char ahost[1024]; data/libsmpp34-1.14.0/test_apps/tcp.c:93:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(&addr.s_addr, _host.h_addr_list[0], sizeof(struct in_addr)); data/libsmpp34-1.14.0/test_pdu/core.c:37:8: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. extern char smpp34_strerror[2048]; data/libsmpp34-1.14.0/test_pdu/data_sm_test.c:75:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(tlv.value.octet, TEXTO, tlv.length); data/libsmpp34-1.14.0/test_pdu/deliver_sm_test.c:74:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(b.short_message, TEXTO, b.sm_length); data/libsmpp34-1.14.0/test_pdu/deliver_sm_test.c:83:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(tlv.value.octet, TEXTO, tlv.length); data/libsmpp34-1.14.0/test_pdu/deliver_sm_test.c:89:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(tlv.value.octet, TEXTO, tlv.length); data/libsmpp34-1.14.0/test_pdu/replace_sm_test.c:64:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(b.short_message, TEXTO, b.sm_length); data/libsmpp34-1.14.0/test_pdu/submit_multi_test.c:95:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(b.short_message, TEXTO, b.sm_length); data/libsmpp34-1.14.0/test_pdu/submit_multi_test.c:104:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(tlv.value.octet, TEXTO, tlv.length); data/libsmpp34-1.14.0/test_pdu/submit_sm_test.c:75:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(b.short_message, TEXTO, b.sm_length); data/libsmpp34-1.14.0/test_pdu/submit_sm_test.c:84:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(tlv.value.octet, TEXTO, tlv.length); data/libsmpp34-1.14.0/src/smpp34_dumpBuf.c:74:33: [1] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source is a constant character. dest += sprintf((char*)dest, "."); data/libsmpp34-1.14.0/src/smpp34_dumpBuf.c:78:33: [1] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source is a constant character. dest += sprintf((char*)dest, " "); data/libsmpp34-1.14.0/src/smpp34_dumpBuf.c:80:25: [1] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source is a constant character. dest += sprintf((char*)dest, "\n"); data/libsmpp34-1.14.0/src/smpp34_dumpBuf.c:100:25: [1] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source is a constant character. dest += sprintf((char*)dest, "."); data/libsmpp34-1.14.0/src/smpp34_dumpBuf.c:104:25: [1] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source is a constant character. dest += sprintf((char*)dest, " "); data/libsmpp34-1.14.0/src/smpp34_dumpBuf.c:106:17: [1] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source is a constant character. dest += sprintf((char*)dest, "\n"); data/libsmpp34-1.14.0/src/smpp34_pack.c:123:14: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). lenval = strlen((char*)inst par) + 1;\ data/libsmpp34-1.14.0/src/smpp34_unpack.c:130:14: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). lenval = strlen( (char*) aux ) + 1;\ data/libsmpp34-1.14.0/test_apps/analizer.c:123:46: [1] (buffer) getc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). *(bufPDU + (bufPDULen++)) = (uint8_t)getc( fd ); data/libsmpp34-1.14.0/test_apps/smpp.c:74:19: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). for (i = 0; i < strlen(hex); i++) { data/libsmpp34-1.14.0/test_apps/smpp.c:81:19: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). for (i = 0; i < strlen(hex); i++) { data/libsmpp34-1.14.0/test_apps/smpp.c:175:29: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). b.sm_length = strlen(TEXTO); data/libsmpp34-1.14.0/test_apps/smpp.c:179:18: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). tlv.length = strlen(message); data/libsmpp34-1.14.0/test_apps/smpp_smsc.c:447:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). rc = read(ofd->fd, lenptr + esme->read_idx, rdlen); data/libsmpp34-1.14.0/test_apps/smpp_smsc.c:469:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). rc = read(ofd->fd, msg->tail, OSMO_MIN(rdlen, msgb_tailroom(msg))); data/libsmpp34-1.14.0/test_apps/tcp.c:71:9: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if (strlen(local_src) != 0) { data/libsmpp34-1.14.0/test_pdu/data_sm_test.c:74:18: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). tlv.length = strlen(TEXTO); data/libsmpp34-1.14.0/test_pdu/deliver_sm_test.c:73:29: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). b.sm_length = strlen(TEXTO); data/libsmpp34-1.14.0/test_pdu/deliver_sm_test.c:82:18: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). tlv.length = strlen(TEXTO); data/libsmpp34-1.14.0/test_pdu/deliver_sm_test.c:88:18: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). tlv.length = strlen(TEXTO); data/libsmpp34-1.14.0/test_pdu/replace_sm_test.c:63:29: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). b.sm_length = strlen(TEXTO); data/libsmpp34-1.14.0/test_pdu/submit_multi_test.c:94:29: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). b.sm_length = strlen(TEXTO); data/libsmpp34-1.14.0/test_pdu/submit_multi_test.c:103:18: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). tlv.length = strlen(TEXTO); data/libsmpp34-1.14.0/test_pdu/submit_sm_test.c:74:29: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). b.sm_length = strlen(TEXTO); data/libsmpp34-1.14.0/test_pdu/submit_sm_test.c:83:18: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). tlv.length = strlen(TEXTO); ANALYSIS SUMMARY: Hits = 102 Lines analyzed = 5355 in approximately 0.19 seconds (28560 lines/second) Physical Source Lines of Code (SLOC) = 3375 Hits@level = [0] 174 [1] 25 [2] 72 [3] 3 [4] 2 [5] 0 Hits@level+ = [0+] 276 [1+] 102 [2+] 77 [3+] 5 [4+] 2 [5+] 0 Hits/KSLOC@level+ = [0+] 81.7778 [1+] 30.2222 [2+] 22.8148 [3+] 1.48148 [4+] 0.592593 [5+] 0 Dot directories skipped = 1 (--followdotdir overrides) Minimum risk level = 1 Not every hit is necessarily a security vulnerability. There may be other security vulnerabilities; review your code! See 'Secure Programming HOWTO' (https://dwheeler.com/secure-programs) for more information.