diff options
author | Benny Prijono <bennylp@teluu.com> | 2013-10-08 09:08:13 +0000 |
---|---|---|
committer | Benny Prijono <bennylp@teluu.com> | 2013-10-08 09:08:13 +0000 |
commit | 7369d96f8361c523a7ae4753391a9a7336a89fb8 (patch) | |
tree | 64afc15371dfb0cafe15648537d33d4ad0c4c38a /pjsip/src/pjsua-lib/pjsua_acc.c | |
parent | 476648f068a362857304aca7b383f700a304d59e (diff) |
Re #1703: fixing general bugs. First installment: correct handling of snprintf return value
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@4613 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjsip/src/pjsua-lib/pjsua_acc.c')
-rw-r--r-- | pjsip/src/pjsua-lib/pjsua_acc.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/pjsip/src/pjsua-lib/pjsua_acc.c b/pjsip/src/pjsua-lib/pjsua_acc.c index 77d9a12c..8533c793 100644 --- a/pjsip/src/pjsua-lib/pjsua_acc.c +++ b/pjsip/src/pjsua-lib/pjsua_acc.c @@ -1749,7 +1749,7 @@ static pj_bool_t acc_check_nat_addr(pjsua_acc *acc, (acc->cfg.use_rfc5626? ob: ""), (int)acc->cfg.contact_params.slen, acc->cfg.contact_params.ptr); - if (len < 1) { + if (len < 1 || len >= PJSIP_MAX_URL_SIZE) { PJ_LOG(1,(THIS_FILE, "URI too long")); pj_pool_release(pool); return PJ_FALSE; @@ -3101,7 +3101,8 @@ PJ_DEF(pj_status_t) pjsua_acc_create_uac_contact( pj_pool_t *pool, (acc->cfg.use_rfc5626? ob: ""), (int)acc->cfg.contact_params.slen, acc->cfg.contact_params.ptr); - + if (contact->slen < 1 || contact->slen >= (int)PJSIP_MAX_URL_SIZE) + return PJ_ETOOSMALL; return PJ_SUCCESS; } @@ -3271,6 +3272,8 @@ PJ_DEF(pj_status_t) pjsua_acc_create_uas_contact( pj_pool_t *pool, acc->cfg.contact_uri_params.ptr, (int)acc->cfg.contact_params.slen, acc->cfg.contact_params.ptr); + if (contact->slen < 1 || contact->slen >= (int)PJSIP_MAX_URL_SIZE) + return PJ_ETOOSMALL; return PJ_SUCCESS; } |