[OpenSIPS-Devel] [OpenSIPS/opensips] 6eb14f: acc: Do not dereference NULL dialog contexts

Liviu Chircu liviu at opensips.org
Mon Nov 19 10:28:46 EST 2018


  Branch: refs/heads/master
  Home:   https://github.com/OpenSIPS/opensips
  Commit: 6eb14f6a3d23bb6a646aa414907755ea9b381511
      https://github.com/OpenSIPS/opensips/commit/6eb14f6a3d23bb6a646aa414907755ea9b381511
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2018-11-19 (Mon, 19 Nov 2018)

  Changed paths:
    M modules/acc/acc_logic.c

  Log Message:
  -----------
  acc: Do not dereference NULL dialog contexts

This bug could be triggered in failover scenarios, where the accounting
context would be created and cleaned up at least once before actually
calling do_accounting().  One way to trigger it would be:

    * create_dialog();
    * $acc_extra(foo) = "bar"; # create a dialog-stored acc context
    * t_relay(); exit; # msg is relayed, but ctx is unused =>
	the code frees it and leaves a NULL dialog value marker.
    * inside failure_route, do: $acc_extra(foo) = "bar".  We fetch the
      NULL context stored inside dialog, dereference it and crash.

Many thanks to 46Labs for reporting this issue, as well as providing
extensive troubleshooting information.



      **NOTE:** This service has been marked for deprecation: https://developer.github.com/changes/2018-04-25-github-services-deprecation/

      Functionality will be removed from GitHub.com on January 31st, 2019.


More information about the Devel mailing list