summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul J Stevens <paul@nfg.nl>2010-05-23 16:43:09 +0200
committerPaul J Stevens <paul@nfg.nl>2010-05-23 16:43:09 +0200
commit253792d556444c640fd5976d416b12441bf6badc (patch)
tree165bc259318a66bb9628292f7ff9481ba735471b
parentbe6cdee2f0c5a5fb483c46ad4a3df09e98db518a (diff)
prevent segfault in cram-md5 auth during authlogging
-rw-r--r--src/clientbase.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/clientbase.c b/src/clientbase.c
index 27b62d00..206804f3 100644
--- a/src/clientbase.c
+++ b/src/clientbase.c
@@ -427,6 +427,7 @@ void ci_authlog_init(clientbase_t *self, const char *service, const char *userna
C c; R r; S s;
const char *now = db_get_sql(SQL_CURRENT_TIMESTAMP);
char *frag = db_returning("id");
+ const char *user = self->auth?Cram_getUsername(self->auth):username;
c = db_con_get();
TRY
@@ -434,7 +435,7 @@ void ci_authlog_init(clientbase_t *self, const char *service, const char *userna
" VALUES (?, ?, %s, %s, ?, ?, ?, ?, ?) %s", DBPFX, now, now, frag);
g_free(frag);
- db_stmt_set_str(s, 1, username);
+ db_stmt_set_str(s, 1, user);
db_stmt_set_str(s, 2, service);
db_stmt_set_str(s, 3, (char *)self->src_ip);
db_stmt_set_int(s, 4, atoi(self->src_port));