tree c94d379d4e3961bf90f69c7b127588b9c0400bac
parent dacac990f94cd820724cdfae124a4b5274668263
author Neels Hofmeyr <neels@hofmeyr.de> 1590455549 +0200
committer Neels Hofmeyr <neels@hofmeyr.de> 1590525049 +0200

fix osmo_mi_name_c() to always return talloced strings, via osmo_mi_name_buf()

Fix osmo_mi_name_buf() to snprintf() into the buf in *all* cases.

osmo_mi_name_c() is implemented via osmo_mi_name_buf(), which returns
compile-time string constants in special cases. That means that
osmo_mi_name_c() does return non-allocated strings in these special cases.
The caller of functions like osmo_mi_name_c() must always be able to rely on
getting a talloced string, or run a danger of deallocating const pointers.

Change-Id: I623959f01b72642bcdd18508097c5c405c59f6f1
