From: Michael W. Olson Date: Sun, 27 Jan 2008 21:16:47 +0000 (-0500) Subject: authuserdb: Fix treatment of integers as strings in my previous patch. X-Git-Tag: debian/0.60.2-0hcoop3~1 X-Git-Url: https://git.hcoop.net/hcoop/debian/courier-authlib.git/commitdiff_plain/6b8463724d19ec86cf571d7b2b077d783f16ad81?ds=sidebyside authuserdb: Fix treatment of integers as strings in my previous patch. --- diff --git a/authuserdb.c b/authuserdb.c index 166d7ab..8ea2692 100644 --- a/authuserdb.c +++ b/authuserdb.c @@ -73,7 +73,6 @@ char *u; char *udbs; char *passwords; char *services; -char *token_cmd; struct userdbs *udb; struct cram_callback_info cci; @@ -163,12 +162,19 @@ int rc; aa.maildir=udb->udb_mailbox; aa.options=udb->udb_options; - /* Get tokens for AFS */ - if ((token_cmd=malloc(sizeof(TOKEN_CMD)+strlen(aa.sysuserid)))) - { - strcat(strcpy(token_cmd, TOKEN_CMD),aa.sysuserid); - system(token_cmd); - free(token_cmd); + /* Get tokens for AFS */ + { char uidstr[32] = ""; + char *token_cmd; + if (aa.sysuserid) + { + snprintf(uidstr, sizeof(uidstr), "%ld", (long)*aa.sysuserid); + if ((token_cmd=malloc(sizeof(TOKEN_CMD)+strlen(uidstr)))) + { + strcat(strcpy(token_cmd, TOKEN_CMD),uidstr); + system(token_cmd); + free(token_cmd); + } + } } rc=(*callback_func)(&aa, callback_arg);