Changeset 77 for pjproject/trunk/pjsip/src/pjsip/sip_uri.c
- Timestamp:
- Nov 22, 2005 11:51:50 PM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
pjproject/trunk/pjsip/src/pjsip/sip_uri.c
r74 r77 90 90 int sep) 91 91 { 92 const pjsip_param *p = param_list->next; 93 char *startbuf = buf; 94 char *endbuf = buf + size; 95 96 while (p != param_list) { 92 const pjsip_param *p; 93 char *startbuf; 94 char *endbuf; 95 int printed; 96 97 p = param_list->next; 98 if (p == param_list) 99 return 0; 100 101 startbuf = buf; 102 endbuf = buf + size; 103 104 do { 97 105 *buf++ = (char)sep; 98 106 copy_advance_escape(buf, p->name, pjsip_PARAM_CHAR_SPEC); … … 102 110 } 103 111 p = p->next; 104 } 112 } while (p != param_list); 113 105 114 return buf-startbuf; 106 115 } … … 249 258 //PJ_TODO(SHOULD_DISALLOW_URI_PORT_IN_FROM_TO_HEADER) 250 259 if (url->port && context != PJSIP_URI_IN_FROMTO_HDR) { 260 if (endbuf - buf < 10) 261 return -1; 262 251 263 *buf++ = ':'; 252 264 printed = pj_utoa(url->port, buf); … … 271 283 /* TTL param is not allowed in From, To, Route, and Record-Route header. */ 272 284 if (url->ttl_param >= 0 && context != PJSIP_URI_IN_FROMTO_HDR && 273 context != PJSIP_URI_IN_ROUTING_HDR && (endbuf-buf) > 15)285 context != PJSIP_URI_IN_ROUTING_HDR) 274 286 { 287 if (endbuf - buf < 15) 288 return -1; 275 289 pj_memcpy(buf, ";ttl=", 5); 276 290 printed = pj_utoa(url->ttl_param, buf+5); … … 289 303 { 290 304 pj_str_t lr = { ";lr", 3 }; 305 if (endbuf - buf < 3) 306 return -1; 291 307 copy_advance_check(buf, lr); 292 308 } … … 301 317 param = url->header_param.next; 302 318 while (param != &url->header_param) { 319 if (endbuf - buf < param->name.slen+2) 320 return -1; 303 321 *buf++ = hparam_char; 304 322 copy_advance_escape(buf, param->name, pjsip_HDR_CHAR_SPEC);
Note: See TracChangeset
for help on using the changeset viewer.