This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/OpenBSC@lists.osmocom.org/.
Max msuraev at sysmocom.deI did not managed to reproduce memleak by manually triggering db_sync_subscriber with "subscriber id 2 authorized 1" multiple times. When does it happen? Also, what to you suggest to improve readability? I'll send revised version shortly. On 05/03/2016 11:05 AM, Holger Freyther wrote: >> On 03 May 2016, at 10:43, msuraev at sysmocom.de wrote: >> >> + if (subscriber->extension[0] != '\0') >> + dbi_conn_quote_string_copy(conn, >> + subscriber->extension, &q_extension); >> + else >> + q_extension = strdup("NULL"); >> >> if (subscriber->tmsi != GSM_RESERVED_TMSI) { >> sprintf(tmsi, "%u", subscriber->tmsi); >> @@ -1043,15 +1049,17 @@ int db_subscriber_delete(struct gsm_subscriber *subscr) >> } >> dbi_result_free(result); >> >> - result = dbi_conn_queryf(conn, >> - "DELETE FROM SMS WHERE src_addr=%s OR dest_addr=%s", >> - subscr->extension, subscr->extension); >> - if (!result) { >> - LOGP(DDB, LOGL_ERROR, >> - "Failed to delete SMS for %llu\n", subscr->id); >> - return -1; >> + if (subscr->extension[0] != '\0') { >> + result = dbi_conn_queryf(conn, >> + "DELETE FROM SMS WHERE src_addr=%s OR dest_addr=%s", >> + subscr->extension, subscr->extension); >> + if (!result) { >> + LOGP(DDB, LOGL_ERROR, >> + "Failed to delete SMS for %llu\n", subscr->id); >> + return -1; >> + } >> + dbi_result_free(result); >> } >> - dbi_result_free(result); > Starts to be less readable, q_extension will leak in the error path as well (and probably leaked before as well). > > holger -- Max Suraev <msuraev at sysmocom.de> http://www.sysmocom.de/ ======================================================================= * sysmocom - systems for mobile communications GmbH * Alt-Moabit 93 * 10559 Berlin, Germany * Sitz / Registered office: Berlin, HRB 134158 B * Geschaeftsfuehrer / Managing Directors: Holger Freyther, Harald Welte