summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xgeofence-server/src/geofence_server_db.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/geofence-server/src/geofence_server_db.c b/geofence-server/src/geofence_server_db.c
index 8c85238..f4c4988 100755
--- a/geofence-server/src/geofence_server_db.c
+++ b/geofence-server/src/geofence_server_db.c
@@ -1147,6 +1147,7 @@ int geofence_manager_set_geocoordinate_info(int fence_id, geocoordinate_info_s *
ret = snprintf(data_name_lon, MAX_DATA_NAME, "%lf", geocoordinate_info->longitude);
if (ret < 0) {
LOGD_GEOFENCE("ERROR: String will be truncated");
+ sqlite3_finalize(state);
return FENCE_ERR_STRING_TRUNCATED;
}
@@ -1157,6 +1158,7 @@ int geofence_manager_set_geocoordinate_info(int fence_id, geocoordinate_info_s *
ret = snprintf(data_name_rad, MAX_DATA_NAME, "%lf", geocoordinate_info->radius);
if (ret < 0) {
LOGD_GEOFENCE("ERROR: String will be truncated");
+ sqlite3_finalize(state);
return FENCE_ERR_STRING_TRUNCATED;
}
@@ -1217,6 +1219,9 @@ int geofence_manager_get_geocoordinate_info(int fence_id, geocoordinate_info_s *
}
*geocoordinate_info = (geocoordinate_info_s *)g_malloc0(sizeof(geocoordinate_info_s));
+ if (*geocoordinate_info == NULL) {
+ sqlite3_finalize(state);
+ }
g_return_val_if_fail(*geocoordinate_info, FENCE_ERR_INVALID_PARAMETER);
#ifdef SUPPORT_ENCRYPTION
@@ -1314,6 +1319,9 @@ int geofence_manager_get_ap_info(const int fence_id, GList **ap_list)
break;
}
wifi_info = g_slice_new0(wifi_info_s);
+ if (wifi_info == NULL) {
+ sqlite3_finalize(state);
+ }
g_return_val_if_fail(wifi_info, -1);
if (wifi_info) {
bssid = (const char *) sqlite3_column_text(state, 1);
@@ -1359,6 +1367,9 @@ int geofence_manager_get_place_info(int place_id, place_info_s **place_info)
return FENCE_ERR_SQLITE_FAIL;
}
*place_info = (place_info_s *)g_malloc0(sizeof(place_info_s));
+ if (*place_info == NULL) {
+ sqlite3_finalize(state);
+ }
g_return_val_if_fail(*place_info, FENCE_ERR_INTERNAL);
data_name = (char *)sqlite3_column_text(state, ++index);
@@ -1471,6 +1482,9 @@ int geofence_manager_get_bssid_info(const int fence_id, bssid_info_s **bssid_inf
break;
}
bssid_info_from_db = g_slice_new0(bssid_info_s);
+ if (bssid_info_from_db == NULL) {
+ sqlite3_finalize(state);
+ }
g_return_val_if_fail(bssid_info_from_db, -1);
if (bssid_info_from_db) {
bssid = (const char *)sqlite3_column_text(state, 1);
@@ -2411,6 +2425,7 @@ int geofence_manager_reset(void)
return FENCE_ERR_SQLITE_FAIL;
}
sqlite3_reset(state);
+ sqlite3_finalize(state);
sqlite3_free(query_two);
char *query_three = sqlite3_mprintf("UPDATE sqlite_sequence SET seq = 0 where name = %Q;", menu_table[FENCE_MAIN_TABLE]);
@@ -2527,6 +2542,7 @@ int geofence_manager_get_count_by_params(const char *app_id, geofence_type_e fen
if (*count <= 0) {
LOGI_GEOFENCE("ERROR: count = %d", *count);
+ sqlite3_finalize(state);
return FENCE_ERR_COUNT;
} else {
LOGI_GEOFENCE("count[%d]", *count);
@@ -2623,6 +2639,7 @@ int geofence_manager_get_count_of_fences(int *count)
if (*count < 0) {
LOGI_GEOFENCE("ERROR: count = %d", *count);
+ sqlite3_finalize(state);
return FENCE_ERR_COUNT;
} else {
LOGI_GEOFENCE("count[%d]", *count);
@@ -2661,6 +2678,7 @@ int geofence_manager_get_place_count_by_placeid(int place_id, int *count)
if (*count < 0) {
LOGI_GEOFENCE("ERROR: place count = %d", *count);
+ sqlite3_finalize(state);
return FENCE_ERR_COUNT;
} else {
LOGI_GEOFENCE("place count[%d]", *count);