diff options
author | Benny Prijono <bennylp@teluu.com> | 2006-07-29 20:29:24 +0000 |
---|---|---|
committer | Benny Prijono <bennylp@teluu.com> | 2006-07-29 20:29:24 +0000 |
commit | 8437d671f9c4c0fdd2d5d29f8741173391196e1c (patch) | |
tree | d3be6f832e41d7f49fabd8cd91996ddd1b392418 /pjsip | |
parent | dfc70260daca970cc1df362f26fd669d75812eb0 (diff) |
Another take at fixing 64bit problems. PJ_MAX_OBJ_NAME is increased to 32 chars (from 16), and check all those sprintf's especially the ones with "%p" format.
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@635 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjsip')
-rw-r--r-- | pjsip/src/pjsip/sip_dialog.c | 2 | ||||
-rw-r--r-- | pjsip/src/pjsip/sip_transaction.c | 3 | ||||
-rw-r--r-- | pjsip/src/pjsip/sip_transport.c | 4 | ||||
-rw-r--r-- | pjsip/src/pjsip/sip_transport_loop.c | 3 | ||||
-rw-r--r-- | pjsip/src/pjsip/sip_transport_tcp.c | 9 | ||||
-rw-r--r-- | pjsip/src/pjsip/sip_transport_udp.c | 10 | ||||
-rw-r--r-- | pjsip/src/pjsua-lib/pjsua_acc.c | 13 | ||||
-rw-r--r-- | pjsip/src/pjsua-lib/pjsua_call.c | 4 | ||||
-rw-r--r-- | pjsip/src/test-pjsip/transport_tcp_test.c | 2 | ||||
-rw-r--r-- | pjsip/src/test-pjsip/tsx_basic_test.c | 4 |
10 files changed, 30 insertions, 24 deletions
diff --git a/pjsip/src/pjsip/sip_dialog.c b/pjsip/src/pjsip/sip_dialog.c index c84cfd20..cc68ab12 100644 --- a/pjsip/src/pjsip/sip_dialog.c +++ b/pjsip/src/pjsip/sip_dialog.c @@ -73,7 +73,7 @@ static pj_status_t create_dialog( pjsip_user_agent *ua, PJ_ASSERT_RETURN(dlg != NULL, PJ_ENOMEM); dlg->pool = pool; - pj_ansi_sprintf(dlg->obj_name, "dlg%p", dlg); + pj_ansi_snprintf(dlg->obj_name, sizeof(dlg->obj_name), "dlg%p", dlg); dlg->ua = ua; dlg->endpt = endpt; dlg->state = PJSIP_DIALOG_STATE_NULL; diff --git a/pjsip/src/pjsip/sip_transaction.c b/pjsip/src/pjsip/sip_transaction.c index acf91888..b7a23eb9 100644 --- a/pjsip/src/pjsip/sip_transaction.c +++ b/pjsip/src/pjsip/sip_transaction.c @@ -892,7 +892,8 @@ static pj_status_t tsx_create( pjsip_module *tsx_user, tsx->tsx_user = tsx_user; tsx->endpt = mod_tsx_layer.endpt; - pj_ansi_sprintf(tsx->obj_name, "tsx%p", tsx); + pj_ansi_snprintf(tsx->obj_name, sizeof(tsx->obj_name), + "tsx%p", tsx); tsx->handle_200resp = 1; tsx->retransmit_timer.id = TSX_TIMER_RETRANSMISSION; diff --git a/pjsip/src/pjsip/sip_transport.c b/pjsip/src/pjsip/sip_transport.c index ebd80259..e18a9048 100644 --- a/pjsip/src/pjsip/sip_transport.c +++ b/pjsip/src/pjsip/sip_transport.c @@ -373,7 +373,7 @@ PJ_DEF(char*) pjsip_tx_data_get_info( pjsip_tx_data *tdata ) PJ_DEF(char*) pjsip_rx_data_get_info(pjsip_rx_data *rdata) { - char obj_name[16]; + char obj_name[PJ_MAX_OBJ_NAME]; PJ_ASSERT_RETURN(rdata->msg_info.msg, "INVALID MSG"); @@ -381,7 +381,7 @@ PJ_DEF(char*) pjsip_rx_data_get_info(pjsip_rx_data *rdata) return rdata->msg_info.info; pj_ansi_strcpy(obj_name, "rdata"); - pj_ansi_sprintf(obj_name+5, "%p", rdata); + pj_ansi_snprintf(obj_name+5, sizeof(obj_name)-5, "%p", rdata); rdata->msg_info.info = get_msg_info(rdata->tp_info.pool, obj_name, rdata->msg_info.msg); diff --git a/pjsip/src/pjsip/sip_transport_loop.c b/pjsip/src/pjsip/sip_transport_loop.c index 3dc19200..c81d7152 100644 --- a/pjsip/src/pjsip/sip_transport_loop.c +++ b/pjsip/src/pjsip/sip_transport_loop.c @@ -359,7 +359,8 @@ PJ_DEF(pj_status_t) pjsip_loop_start( pjsip_endpoint *endpt, loop = pj_pool_zalloc(pool, sizeof(struct loop_transport)); /* Initialize transport properties. */ - pj_ansi_sprintf(loop->base.obj_name, "loop%p", loop); + pj_ansi_snprintf(loop->base.obj_name, sizeof(loop->base.obj_name), + "loop%p", loop); loop->base.pool = pool; status = pj_atomic_create(pool, 0, &loop->base.ref_cnt); if (status != PJ_SUCCESS) diff --git a/pjsip/src/pjsip/sip_transport_tcp.c b/pjsip/src/pjsip/sip_transport_tcp.c index c9b92ad4..2adfa184 100644 --- a/pjsip/src/pjsip/sip_transport_tcp.c +++ b/pjsip/src/pjsip/sip_transport_tcp.c @@ -167,8 +167,9 @@ static void sockaddr_to_host_port( pj_pool_t *pool, pjsip_host_port *host_port, const pj_sockaddr_in *addr ) { - host_port->host.ptr = pj_pool_alloc(pool, 48); - host_port->host.slen = pj_ansi_sprintf( host_port->host.ptr, "%s", + enum { M = 48 }; + host_port->host.ptr = pj_pool_alloc(pool, M); + host_port->host.slen = pj_ansi_snprintf( host_port->host.ptr, M, "%s", pj_inet_ntoa(addr->sin_addr)); host_port->port = pj_ntohs(addr->sin_port); } @@ -259,8 +260,8 @@ PJ_DEF(pj_status_t) pjsip_tcp_transport_start( pjsip_endpoint *endpt, listener_addr->sin_addr = *(pj_in_addr*)he.h_addr; } - pj_ansi_sprintf(listener->obj_name, "tcp:%d", - (int)pj_ntohs(listener_addr->sin_port)); + pj_ansi_snprintf(listener->obj_name, sizeof(listener->obj_name), + "tcp:%d", (int)pj_ntohs(listener_addr->sin_port)); /* Save the address name */ sockaddr_to_host_port(listener->factory.pool, diff --git a/pjsip/src/pjsip/sip_transport_udp.c b/pjsip/src/pjsip/sip_transport_udp.c index d0c6c307..027a6df2 100644 --- a/pjsip/src/pjsip/sip_transport_udp.c +++ b/pjsip/src/pjsip/sip_transport_udp.c @@ -403,6 +403,7 @@ PJ_DEF(pj_status_t) pjsip_udp_transport_attach( pjsip_endpoint *endpt, unsigned async_cnt, pjsip_transport **p_transport) { + enum { M = 80 }; pj_pool_t *pool; struct udp_transport *tp; pj_ioqueue_t *ioqueue; @@ -450,7 +451,8 @@ PJ_DEF(pj_status_t) pjsip_udp_transport_attach( pjsip_endpoint *endpt, tp->base.pool = pool; /* Object name. */ - pj_ansi_sprintf(tp->base.obj_name, "udp%p", tp); + pj_ansi_snprintf(tp->base.obj_name, sizeof(tp->base.obj_name), + "udp%p", tp); /* Init reference counter. */ status = pj_atomic_create(pool, 0, &tp->base.ref_cnt); @@ -493,9 +495,9 @@ PJ_DEF(pj_status_t) pjsip_udp_transport_attach( pjsip_endpoint *endpt, tp->base.remote_name.port = 0; /* Transport info. */ - tp->base.info = pj_pool_alloc(pool, 80); - pj_ansi_sprintf( - tp->base.info, "udp %s:%d [published as %s:%d]", + tp->base.info = pj_pool_alloc(pool, M); + pj_ansi_snprintf( + tp->base.info, M, "udp %s:%d [published as %s:%d]", pj_inet_ntoa(((pj_sockaddr_in*)&tp->base.local_addr)->sin_addr), pj_ntohs(((pj_sockaddr_in*)&tp->base.local_addr)->sin_port), tp->base.local_name.host.ptr, diff --git a/pjsip/src/pjsua-lib/pjsua_acc.c b/pjsip/src/pjsua-lib/pjsua_acc.c index 1d5873be..05815ede 100644 --- a/pjsip/src/pjsua-lib/pjsua_acc.c +++ b/pjsip/src/pjsua-lib/pjsua_acc.c @@ -289,7 +289,7 @@ PJ_DEF(pj_status_t) pjsua_acc_add_local( pjsua_transport_id tid, { pjsua_acc_config cfg; struct transport_data *t = &pjsua_var.tpdata[tid]; - char uri[62]; + char uri[PJSIP_MAX_URL_SIZE]; /* ID must be valid */ PJ_ASSERT_RETURN(tid>=0 && tid<PJ_ARRAY_SIZE(pjsua_var.tpdata), PJ_EINVAL); @@ -300,11 +300,12 @@ PJ_DEF(pj_status_t) pjsua_acc_add_local( pjsua_transport_id tid, pjsua_acc_config_default(&cfg); /* Build URI for the account */ - pj_ansi_sprintf(uri, "<sip:%.*s:%d;transport=%s>", - (int)t->local_name.host.slen, - t->local_name.host.ptr, - t->local_name.port, - pjsip_transport_get_type_name(t->type)); + pj_ansi_snprintf(uri, PJSIP_MAX_URL_SIZE, + "<sip:%.*s:%d;transport=%s>", + (int)t->local_name.host.slen, + t->local_name.host.ptr, + t->local_name.port, + pjsip_transport_get_type_name(t->type)); cfg.id = pj_str(uri); diff --git a/pjsip/src/pjsua-lib/pjsua_call.c b/pjsip/src/pjsua-lib/pjsua_call.c index e9042670..d5b021fc 100644 --- a/pjsip/src/pjsua-lib/pjsua_call.c +++ b/pjsip/src/pjsua-lib/pjsua_call.c @@ -1275,8 +1275,8 @@ static void dump_media_session(const char *indent, const char *rem_addr; int rem_port; const char *dir; - char last_update[40]; - char packets[16], bytes[16], ipbytes[16]; + char last_update[64]; + char packets[32], bytes[32], ipbytes[32]; pj_time_val now; pjmedia_session_get_stream_stat(session, i, &stat); diff --git a/pjsip/src/test-pjsip/transport_tcp_test.c b/pjsip/src/test-pjsip/transport_tcp_test.c index c3578ee6..630bd18f 100644 --- a/pjsip/src/test-pjsip/transport_tcp_test.c +++ b/pjsip/src/test-pjsip/transport_tcp_test.c @@ -34,7 +34,7 @@ int transport_tcp_test(void) pjsip_transport *tcp; pj_sockaddr_in rem_addr; pj_status_t status; - char url[64]; + char url[PJSIP_MAX_URL_SIZE]; int rtt[SEND_RECV_LOOP], min_rtt; int i, pkt_lost; diff --git a/pjsip/src/test-pjsip/tsx_basic_test.c b/pjsip/src/test-pjsip/tsx_basic_test.c index afe72279..54f64cd9 100644 --- a/pjsip/src/test-pjsip/tsx_basic_test.c +++ b/pjsip/src/test-pjsip/tsx_basic_test.c @@ -23,8 +23,8 @@ #define THIS_FILE "tsx_basic_test.c" -static char TARGET_URI[128]; -static char FROM_URI[128]; +static char TARGET_URI[PJSIP_MAX_URL_SIZE]; +static char FROM_URI[PJSIP_MAX_URL_SIZE]; /* Test transaction layer. */ |