diff options
-rw-r--r-- | database/sqlite/sqlite.c | 6 | ||||
-rw-r--r-- | eurephiadm/commands/users.c | 2 |
2 files changed, 6 insertions, 2 deletions
diff --git a/database/sqlite/sqlite.c b/database/sqlite/sqlite.c index 3075efb..7f9f7fc 100644 --- a/database/sqlite/sqlite.c +++ b/database/sqlite/sqlite.c @@ -237,6 +237,7 @@ dbresult *sqlite_query(eurephiaCTX *ctx, char *fmt, ... ) { if( rc != SQLITE_OK ) { eurephia_log(ctx, LOG_ERROR, 0, "SQL Error: %s", errMsg); sqlite3_free(sql); sql = NULL; + free_nullsafe(glob_results); return NULL; } @@ -281,7 +282,7 @@ char *_build_value_string(eDBfieldMap *ptr) { break; case ft_SETNULL: - val = sqlite3_mprintf("%q", ptr->value); + val = sqlite3_mprintf("NULL"); break; case ft_PASSWD: @@ -344,7 +345,8 @@ char *_build_sqlpart(int btyp, eDBfieldMap *map) { break; case btINSERT: // (field_name, field_name, field_name) VALUES ('val','val','val') - memset(&fields, 0, 4090); + memset(&fields, 0, 4094); + memset(&vals, 0, 4094); first = 1; for( ptr = map; ptr != NULL; ptr = ptr->next ) { diff --git a/eurephiadm/commands/users.c b/eurephiadm/commands/users.c index 6853507..de1a010 100644 --- a/eurephiadm/commands/users.c +++ b/eurephiadm/commands/users.c @@ -522,6 +522,7 @@ int account_activation(eurephiaCTX *ctx, eurephiaSESSION *sess, eurephiaVALUES * // Search and find the user which was requested if( (user_xml = eDBadminGetUserInfo(ctx, USERINFO_user, srch_xml)) == NULL ) { fprintf(stderr, "%s: User not found\n", MODULE); + xmlFreeDoc(srch_xml); return 1; } xmlFreeDoc(srch_xml); @@ -745,6 +746,7 @@ int add_user(eurephiaCTX *ctx, eurephiaSESSION *sess, eurephiaVALUES *cfg, int a (rc == 1 ? "User registered successfully" : "Failed to register user")); memset(passwd, 0, strlen_nullsafe(passwd)); free_nullsafe(passwd); + xmlFreeDoc(user_xml); return (rc != 1); } |