db: fix Smatch warnings

/home/laforge/projects/git/openbsc/openbsc/src/libmsc/db.c +254 db_fini(6) info: redundant null check on db_dirname calling free()
/home/laforge/projects/git/openbsc/openbsc/src/libmsc/db.c +256 db_fini(8) info: redundant null check on db_basename calling free()
/home/laforge/projects/git/openbsc/openbsc/src/libmsc/db.c +280 db_create_subscriber(20) warn: variable dereferenced before check 'subscr'
diff --git a/openbsc/src/libmsc/db.c b/openbsc/src/libmsc/db.c
index 1ddd3fd..126ce66 100644
--- a/openbsc/src/libmsc/db.c
+++ b/openbsc/src/libmsc/db.c
@@ -250,10 +250,8 @@
 	dbi_conn_close(conn);
 	dbi_shutdown();
 
-	if (db_dirname)
-	    free(db_dirname);
-	if (db_basename)
-	    free(db_basename);
+	free(db_dirname);
+	free(db_basename);
 	return 0;
 }
 
@@ -276,9 +274,9 @@
 	}
 
 	subscr = subscr_alloc();
-	subscr->flags |= GSM_SUBSCRIBER_FIRST_CONTACT;
 	if (!subscr)
 		return NULL;
+	subscr->flags |= GSM_SUBSCRIBER_FIRST_CONTACT;
 	result = dbi_conn_queryf(conn,
 		"INSERT INTO Subscriber "
 		"(imsi, created, updated) "