Changeset 5608 for pjproject


Ignore:
Timestamp:
Jun 20, 2017 4:12:09 AM (7 years ago)
Author:
riza
Message:

Fix #2023: Crash on pjsip_dlg_create_uac() when specifying URI with valueless
header parameter.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • pjproject/trunk/pjsip/src/pjsip/sip_dialog.c

    r5582 r5608  
    170170        param = uri->header_param.next; 
    171171        while (param != &uri->header_param) { 
    172             pjsip_hdr *hdr; 
    173             int c; 
    174  
    175             c = param->value.ptr[param->value.slen]; 
    176             param->value.ptr[param->value.slen] = '\0'; 
    177  
    178             hdr = (pjsip_hdr*) 
    179                   pjsip_parse_hdr(dlg->pool, &param->name, param->value.ptr, 
    180                                   param->value.slen, NULL); 
    181  
    182             param->value.ptr[param->value.slen] = (char)c; 
    183  
    184             if (hdr == NULL) { 
    185                 status = PJSIP_EINVALIDURI; 
    186                 goto on_error; 
     172            if (param->value.ptr) { 
     173                pjsip_hdr *hdr; 
     174                int c; 
     175 
     176                c = param->value.ptr[param->value.slen]; 
     177                param->value.ptr[param->value.slen] = '\0'; 
     178 
     179                hdr = (pjsip_hdr*) 
     180                    pjsip_parse_hdr(dlg->pool, &param->name, param->value.ptr, 
     181                                    param->value.slen, NULL); 
     182 
     183                param->value.ptr[param->value.slen] = (char)c; 
     184 
     185                if (hdr == NULL) { 
     186                    status = PJSIP_EINVALIDURI; 
     187                    goto on_error; 
     188                } 
     189                pj_list_push_back(&dlg->inv_hdr, hdr); 
    187190            } 
    188             pj_list_push_back(&dlg->inv_hdr, hdr); 
    189191 
    190192            param = param->next; 
Note: See TracChangeset for help on using the changeset viewer.