dma: allow empty sender in queue files
authorSimon Schubert <corecode@dragonflybsd.org>
Sun, 20 Sep 2009 18:57:34 +0000 (20:57 +0200)
committerMatthew Dillon <dillon@apollo.backplane.com>
Mon, 28 Sep 2009 19:07:35 +0000 (12:07 -0700)
Empty senders happen when a bounce gets queued, so we need to accept
such queue files.

libexec/dma/spool.c

index 23f6e42..0c5d50b 100644 (file)
@@ -176,7 +176,7 @@ readqueuef(struct queue *queue, char *queuefn)
                        s++;
 
                s = strdup(s);
-               if (s == NULL || s[0] == 0)
+               if (s == NULL)
                        goto malformed;
 
                if (strcmp(line, "ID") == 0) {
@@ -192,7 +192,8 @@ readqueuef(struct queue *queue, char *queuefn)
                }
        }
 
-       if (queueid == NULL || sender == NULL || addr == NULL) {
+       if (queueid == NULL || sender == NULL || addr == NULL ||
+           *queueid == 0 || *addr == 0) {
 malformed:
                errno = EINVAL;
                syslog(LOG_ERR, "malformed queue file `%s'", queuefn);