avoid null pointer dereferences to e->e_id when logging
authorEric Allman <eric@ucbvax.Berkeley.EDU>
Tue, 1 Mar 1994 02:04:54 +0000 (18:04 -0800)
committerEric Allman <eric@ucbvax.Berkeley.EDU>
Tue, 1 Mar 1994 02:04:54 +0000 (18:04 -0800)
SCCS-vsn: usr.sbin/sendmail/src/recipient.c 8.44
SCCS-vsn: usr.sbin/sendmail/src/alias.c 8.24

usr/src/usr.sbin/sendmail/src/alias.c
usr/src/usr.sbin/sendmail/src/recipient.c

index 740a686..963ce2d 100644 (file)
@@ -10,7 +10,7 @@
 # include <pwd.h>
 
 #ifndef lint
 # include <pwd.h>
 
 #ifndef lint
-static char sccsid[] = "@(#)alias.c    8.23 (Berkeley) %G%";
+static char sccsid[] = "@(#)alias.c    8.24 (Berkeley) %G%";
 #endif /* not lint */
 
 
 #endif /* not lint */
 
 
@@ -766,7 +766,8 @@ forward(user, sendq, e)
 #ifdef LOG
                        if (LogLevel > 2)
                                syslog(LOG_ERR, "%s: forward %s: transient error: %s",
 #ifdef LOG
                        if (LogLevel > 2)
                                syslog(LOG_ERR, "%s: forward %s: transient error: %s",
-                                       e->e_id, buf, errstring(err));
+                                       e->e_id == NULL ? "NOQUEUE" : e->e_id,
+                                       buf, errstring(err));
 #endif
                        message("%s: %s: message queued", buf, errstring(err));
                        user->q_flags |= QQUEUEUP;
 #endif
                        message("%s: %s: message queued", buf, errstring(err));
                        user->q_flags |= QQUEUEUP;
index c0b608c..d278910 100644 (file)
@@ -7,7 +7,7 @@
  */
 
 #ifndef lint
  */
 
 #ifndef lint
-static char sccsid[] = "@(#)recipient.c        8.43 (Berkeley) %G%";
+static char sccsid[] = "@(#)recipient.c        8.44 (Berkeley) %G%";
 #endif /* not lint */
 
 # include "sendmail.h"
 #endif /* not lint */
 
 # include "sendmail.h"
@@ -357,7 +357,8 @@ recipient(a, sendq, e)
 #ifdef LOG
                                if (LogLevel > 2)
                                        syslog(LOG_ERR, "%s: include %s: transient error: %s",
 #ifdef LOG
                                if (LogLevel > 2)
                                        syslog(LOG_ERR, "%s: include %s: transient error: %s",
-                                               e->e_id, a->q_user, errstring(ret));
+                                               e->e_id == NULL ? "NOQUEUE" : e->e_id,
+                                               a->q_user, errstring(ret));
 #endif
                                a->q_flags |= QQUEUEUP;
                                a->q_flags &= ~QDONTSEND;
 #endif
                                a->q_flags |= QQUEUEUP;
                                a->q_flags &= ~QDONTSEND;
@@ -425,7 +426,8 @@ recipient(a, sendq, e)
 # ifdef LOG
                        if (LogLevel > 8)
                                syslog(LOG_INFO, "%s: deferred: udbexpand: %s",
 # ifdef LOG
                        if (LogLevel > 8)
                                syslog(LOG_INFO, "%s: deferred: udbexpand: %s",
-                                       e->e_id, errstring(errno));
+                                       e->e_id == NULL ? "NOQUEUE" : e->e_id,
+                                       errstring(errno));
 # endif
                        message("queued (user database error): %s",
                                errstring(errno));
 # endif
                        message("queued (user database error): %s",
                                errstring(errno));
@@ -1024,7 +1026,8 @@ resetuid:
 #ifdef LOG
                if (forwarding && LogLevel > 9)
                        syslog(LOG_INFO, "%s: forward %s => %s",
 #ifdef LOG
                if (forwarding && LogLevel > 9)
                        syslog(LOG_INFO, "%s: forward %s => %s",
-                               e->e_id, oldto, buf);
+                               e->e_id == NULL ? "NOQUEUE" : e->e_id,
+                               oldto, buf);
 #endif
 
                AliasLevel++;
 #endif
 
                AliasLevel++;