diff --git a/mediator.h b/mediator.h index 4a1ae3a..7d47a55 100644 --- a/mediator.h +++ b/mediator.h @@ -60,7 +60,7 @@ typedef struct { char dst_leg[256]; char sip_code[4]; char sip_reason[32]; - char callid[128]; + char callid[256]; char timestamp[24]; double unix_timestamp; u_int64_t med_id; @@ -70,7 +70,7 @@ typedef struct { } med_entry_t; typedef struct { - char value[128]; + char value[256]; } med_callid_t; extern GHashTable *med_peer_host_table; diff --git a/medmysql.c b/medmysql.c index b1254b5..7187a58 100644 --- a/medmysql.c +++ b/medmysql.c @@ -155,7 +155,7 @@ int medmysql_fetch_callids(med_callid_t **callids, u_int64_t *count) callid_size = sizeof(med_callid_t) * (*count); *callids = (med_callid_t*)malloc(callid_size); - memset(*callids, 0, callid_size); + memset(*callids, '\0', callid_size); if(*callids == NULL) { syslog(LOG_CRIT, "Error allocating callid memory: %s", strerror(errno)); @@ -168,9 +168,9 @@ int medmysql_fetch_callids(med_callid_t **callids, u_int64_t *count) med_callid_t *c = &(*callids)[i++]; if(row == NULL || row[0] == NULL) { - strcpy(c->value, "0"); + g_strlcpy(c->value, "0", sizeof(c->value)); } else { - strcpy(c->value, row[0]); + g_strlcpy(c->value, row[0], sizeof(c->value)); } /*syslog(LOG_DEBUG, "callid[%"PRIu64"]='%s'", i, c->value);*/