aboutsummaryrefslogtreecommitdiffstats
path: root/src/manager/storage.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/manager/storage.c')
-rw-r--r--src/manager/storage.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/manager/storage.c b/src/manager/storage.c
index 87e0374a7..ab7ad790a 100644
--- a/src/manager/storage.c
+++ b/src/manager/storage.c
@@ -45,7 +45,7 @@ struct private_storage_t {
static int login(private_storage_t *this, char *username, char *password)
{
hasher_t *hasher;
- chunk_t hash, data;
+ chunk_t hash, data, hex_str;
size_t username_len, password_len;
int uid = 0;
char *str;
@@ -65,18 +65,18 @@ static int login(private_storage_t *this, char *username, char *password)
memcpy(data.ptr + username_len, password, password_len);
hasher->get_hash(hasher, data, hash.ptr);
hasher->destroy(hasher);
- str = chunk_to_hex(hash, FALSE);
+ hex_str = chunk_to_hex(hash, NULL, FALSE);
enumerator = this->db->query(this->db,
"SELECT oid FROM users WHERE username = ? AND password = ?;",
- DB_TEXT, username, DB_TEXT, str,
+ DB_TEXT, username, DB_TEXT, hex_str.ptr,
DB_INT);
if (enumerator)
{
enumerator->enumerate(enumerator, &uid);
enumerator->destroy(enumerator);
}
- free(str);
+ free(hex_str.ptr);
return uid;
}