summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--database/sqlite/sqlite.c6
-rw-r--r--eurephiadm/commands/users.c2
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);
}