[OpenSIPS-Devel] [OpenSIPS/opensips] e25895: acc: Do not dereference NULL dialog contexts
Liviu Chircu
liviu at opensips.org
Mon Nov 19 10:30:14 EST 2018
Branch: refs/heads/2.4
Home: https://github.com/OpenSIPS/opensips
Commit: e25895624b1c815dd800bc73452f90223a94242b
https://github.com/OpenSIPS/opensips/commit/e25895624b1c815dd800bc73452f90223a94242b
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.
(cherry picked from commit 6eb14f6a3d23bb6a646aa414907755ea9b381511)
**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