tree 26ff419b13d4dcf15c6a2ff96c7d789c6d9d7536
parent c7ebb77b0dd8c7accfc97ae6d893baef411f86a4
author Nico Golde <openbsc@ngolde.de> 1277835186 +0200
committer Harald Welte <laforge@gnumonks.org> 1277881804 +0200

* Fix null ptr dereference and sms memleak in case the recipient of an sms sent via vty is not attached. Store the sms in the database in this case for later delivery.

The problem is that sms_from_text returns NULL in case the
subscriber is not attached which a) leaks memory of the
previously allocated sms and b) runs into a null ptr
dereference in _send_sms_str().

There may be a better solution than this but this is the
easiest way of noticing and taking action I could find
without changing return values of sms_from_text.
