db: If creating a subscriber in the db fails, return NULL
We should not return a subscriber in case it was not written to the database. Instead free the memory allocated and return NULL. Callers in gsm_04_08.c are prepared to have the creation fail. Related: OS Issue #1657
This commit is contained in:
parent
2826df56b2
commit
adb86759da
|
@ -523,8 +523,11 @@ struct gsm_subscriber *db_create_subscriber(const char *imsi)
|
|||
"(%s, datetime('now'), datetime('now')) ",
|
||||
imsi
|
||||
);
|
||||
if (!result)
|
||||
if (!result) {
|
||||
LOGP(DDB, LOGL_ERROR, "Failed to create Subscriber by IMSI.\n");
|
||||
subscr_put(subscr);
|
||||
return NULL;
|
||||
}
|
||||
subscr->id = dbi_conn_sequence_last(conn, NULL);
|
||||
strncpy(subscr->imsi, imsi, GSM_IMSI_LENGTH-1);
|
||||
dbi_result_free(result);
|
||||
|
|
Loading…
Reference in New Issue