[SR-Users] tsilo ts_store() causes segfault if method is not INVITE
Anthony Alba
ascanio.alba7 at gmail.com
Sat Oct 7 02:59:41 CEST 2017
I was modifying the routing blocks of the tsilo push notifications
recipe from Federico Cabiddu and could cause a segfault in kamailio
5.0.3 if due to misconfiguration an ACK reached ts_store().
## modify https://www.kamailio.org/events/2015-KamailioWorld/Day2/20-Federico.Cabiddu-Kamailio-In-A-Mobile-World.pdf
## various route blocks will lead to here
## including ACK and INVITE...
route[LOCALRELAY) {
## ooops: did not check method is INVITE
t_relay();
ts_store();
$sht(vtp=>stored::$rU) = 1;
xlog("L_INFO", "stored transaction [$T(id_index):$T(id_label)] $fU
=> $rU\n");
## saw an ACK and caused segfault
}
If properly checked for INVITE: if (is_method("INVITE")) { /* do tsilo
stuff */ } it works.
I'm wondering whether ts_store() should/could be more defensive and
show an error like "..not the right context for ts_store().." .
Thanks for you thoughts.
Anthony
More information about the sr-users
mailing list