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: https://svn.pjsip.org/repos/pjproject/trunk@635 74dad513-b988-da41-8d7b-12977e46ad98
diff --git a/pjsip/src/pjsua-lib/pjsua_acc.c b/pjsip/src/pjsua-lib/pjsua_acc.c
index 1d5873b..05815ed 100644
--- a/pjsip/src/pjsua-lib/pjsua_acc.c
+++ b/pjsip/src/pjsua-lib/pjsua_acc.c
@@ -289,7 +289,7 @@
{
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 @@
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..d5b021f 100644
--- a/pjsip/src/pjsua-lib/pjsua_call.c
+++ b/pjsip/src/pjsua-lib/pjsua_call.c
@@ -1275,8 +1275,8 @@
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);