From a80a6f7ad559ea6c5f5f09532ef97ab62881268c Mon Sep 17 00:00:00 2001 From: Art Cancro Date: Wed, 18 Jul 2001 14:35:30 +0000 Subject: [PATCH] * Silly change to internet_addressing() to handle NULL returned from getpwuid() wihout crashing the server. --- citadel/internet_addressing.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/citadel/internet_addressing.c b/citadel/internet_addressing.c index 4180874c3..4e9bc434c 100644 --- a/citadel/internet_addressing.c +++ b/citadel/internet_addressing.c @@ -294,6 +294,7 @@ void process_rfc822_addr(char *rfc822, char *user, char *node, char *name) * (Compares an internet name [buffer1] and stores in [buffer2] if found) */ void try_name(struct usersupp *us, void *data) { + struct passwd *pw; struct trynamebuf *tnb; tnb = (struct trynamebuf *)data; @@ -304,9 +305,14 @@ void try_name(struct usersupp *us, void *data) { if (!collapsed_strcmp(tnb->buffer1, us->fullname)) strcpy(tnb->buffer2, us->fullname); - if (us->uid != BBSUID) - if (!strcasecmp(tnb->buffer1, getpwuid(us->uid)->pw_name)) - strcpy(tnb->buffer2, us->fullname); + if (us->uid != BBSUID) { + pw = getpwuid(us->uid); + if (pw != NULL) { + if (!strcasecmp(tnb->buffer1, pw->pw_name)) { + strcpy(tnb->buffer2, us->fullname); + } + } + } } -- 2.39.2