Changeset 2921


Ignore:
Timestamp:
Oct 1, 2009 12:07:04 PM (10 years ago)
Author:
bennylp
Message:

Ticket #961 (1.4.5 branch): Assertion upon receiving malformed SIP messages (thanks Andrey Kovalenko for the report)

Location:
pjproject/branches/adhocs/1.4.5
Files:
3 edited
1 copied

Legend:

Unmodified
Added
Removed
  • pjproject/branches/adhocs/1.4.5

  • pjproject/branches/adhocs/1.4.5/pjsip/src/pjsip/sip_transaction.c

    r2857 r2921  
    28412841            /* Process incoming ACK request. */ 
    28422842 
     2843            /* Verify that this is an INVITE transaction */ 
     2844            if (tsx->method.id != PJSIP_INVITE_METHOD) { 
     2845                PJ_LOG(2, (tsx->obj_name,  
     2846                           "Received illegal ACK for %.*s transaction", 
     2847                           (int)tsx->method.name.slen, 
     2848                           tsx->method.name.ptr)); 
     2849                return PJSIP_EINVALIDMETHOD; 
     2850            } 
     2851 
    28432852            /* Cease retransmission. */ 
    28442853            if (tsx->retransmit_timer.id != 0) { 
  • pjproject/branches/adhocs/1.4.5/pjsip/src/pjsip/sip_transport.c

    r2724 r2921  
    14401440                rdata->msg_info.via->rport_param = rdata->pkt_info.src_port; 
    14411441            } 
     1442        } else { 
     1443            /* Drop malformed responses */ 
     1444            if (rdata->msg_info.msg->line.status.code < 100 || 
     1445                rdata->msg_info.msg->line.status.code >= 700) 
     1446            { 
     1447                mgr->on_rx_msg(mgr->endpt, PJSIP_EINVALIDSTATUS, rdata); 
     1448                goto finish_process_fragment; 
     1449            } 
    14421450        } 
    14431451 
Note: See TracChangeset for help on using the changeset viewer.