Opened 9 years ago

Closed 9 years ago

#1164 closed defect (fixed)

Possible crash in PUBLISH session if network connectivity is lost between two requests (thanks Nikolay Popok for the report)

Reported by: bennylp Owned by: bennylp
Priority: normal Milestone: release-1.8.10
Component: pjsip Version: trunk
Keywords: Cc:
Backport to 1.x milestone: Backported:

Description

Crash in event publication framework (publishc.c), if network connectivity is lost between two consecutive PUBLISH requests (such as when the PUBLISH request is retried for authentication, or when second PUBLISH request was in the queue (because another one is in progress when application requests the second publication)).

Note that this does not happen when there is only one PUBLISH request to be sent.

To reproduce:

  1. Put breakpoint in 401/407 handler in tsx_callback() in publishc.c
  2. Send PUBLISH
  3. Receive 401/407
  4. Disconnect network
  5. tsx_callback() will resend PUBLISH
  6. pjsip_publishc_send() fails, a nested tsx_callback is called, pubc is destroyed
  7. pjsip_publishc_send() returns back to tsx_callback() which will destroy the pubc once again.

Change History (1)

comment:1 Changed 9 years ago by bennylp

  • Resolution set to fixed
  • Status changed from new to closed

(In [3375]) Fixed #1164: Possible crash in PUBLISH session if network connectivity is lost between two requests (thanks Nikolay Popok for the report)

Note: See TracTickets for help on using tickets.