int media_db_request_update_db(const char *query_str, uid_t uid);
int media_db_update_db_direct(const char *query_str, uid_t uid);
int media_db_check_integrity(sqlite3 *handle);
-int media_db_get_result(sqlite3 *handle, char *sql_str, sqlite3_stmt **stmt);
+int media_db_get_result(sqlite3 *handle, const char *sql_str, sqlite3_stmt **stmt);
/**
* @}
return ret;
}
-int media_db_get_result(sqlite3 *handle, char *sql_str, sqlite3_stmt **stmt)
+int media_db_get_result(sqlite3 *handle, const char *sql_str, sqlite3_stmt **stmt)
{
- int err = -1;
+ int err = SQLITE_OK;
- MSAPI_RETVM_IF(sql_str == NULL, MS_MEDIA_ERR_INVALID_PARAMETER, "invalid query");
- if (handle == NULL) {
- MSAPI_DBG_ERR("handle is NULL");
- sqlite3_free(sql_str);
- return MS_MEDIA_ERR_INVALID_PARAMETER;
- }
+ MSAPI_RETVM_IF(!sql_str, MS_MEDIA_ERR_INVALID_PARAMETER, "invalid query");
+ MSAPI_RETVM_IF(!handle, MS_MEDIA_ERR_INVALID_PARAMETER, "handle is null");
MSAPI_DBG_SLOG("[SQL query] : %s", sql_str);
err = sqlite3_prepare_v2(handle, sql_str, -1, stmt, NULL);
- sqlite3_free(sql_str);
-
if (err != SQLITE_OK) {
MSAPI_DBG_ERR("prepare error %d[%s]", err, sqlite3_errmsg(handle));
if (err == SQLITE_CORRUPT)
Name: media-server
Summary: A server for media content management
-Version: 0.6.4
+Version: 0.6.5
Release: 0
Group: Multimedia/Service
License: Apache-2.0
#endif
ret = media_db_get_result(handle, sql, &sql_stmt);
+ sqlite3_free(sql);
MS_DBG_RETVM_IF(ret != MS_MEDIA_ERR_NONE, ret, "Error when media_db_get_result. err = [%d]", ret);
if (sqlite3_step(sql_stmt) != SQLITE_ROW) {
MS_DBG_SLOG("[SQL query] : %s", sql);
ret = media_db_get_result(handle, sql, &sql_stmt);
+ sqlite3_free(sql);
if (ret != MS_MEDIA_ERR_NONE) {
MS_DBG_ERR("Query failed. err[%d]", ret);
g_ptr_array_free(thumb_list, TRUE);
sql = sqlite3_mprintf("SELECT folder_id FROM folder WHERE folder_path=%Q", path);
#endif
ret = media_db_get_result(handle, sql, &sql_stmt);
+ sqlite3_free(sql);
MS_DBG_RETV_IF(ret != MS_MEDIA_ERR_NONE, ret);
if (sqlite3_step(sql_stmt) == SQLITE_ROW) {
char *q = sqlite3_mprintf("SELECT storage_id FROM storage WHERE instr(%Q, storage_path)", path);
if (media_db_get_result(handle, q, &stmt) < 0) {
printf("Failed to get storage id\n");
+ sqlite3_free(q);
return NULL;
}
+ sqlite3_free(q);
if (sqlite3_step(stmt) == SQLITE_ROW)
storage_id = g_strdup((const char *)sqlite3_column_text(stmt, 0));