dma: initialize queue structures
authorSimon Schubert <corecode@dragonflybsd.org>
Thu, 27 Aug 2009 14:38:51 +0000 (16:38 +0200)
committerSimon Schubert <corecode@dragonflybsd.org>
Thu, 27 Aug 2009 21:12:37 +0000 (23:12 +0200)
libexec/dma/dma.c
libexec/dma/mail.c
libexec/dma/spool.c

index bf22e8e..d1f2493 100644 (file)
@@ -345,11 +345,12 @@ main(int argc, char **argv)
 {
        char *sender = NULL;
        struct queue queue;
-       struct queue lqueue;
        int i, ch;
        int nodot = 0, doqueue = 0, showq = 0;
 
        atexit(deltmp);
+
+       bzero(&queue, sizeof(queue));
        LIST_INIT(&queue.queue);
 
        if (strcmp(argv[0], "mailq") == 0) {
@@ -465,16 +466,16 @@ skipopts:
                errlog(1, "can not read SMTP authentication file");
 
        if (showq) {
-               if (load_queue(&lqueue) < 0)
+               if (load_queue(&queue) < 0)
                        errlog(1, "can not load queue");
-               show_queue(&lqueue);
+               show_queue(&queue);
                return (0);
        }
 
        if (doqueue) {
-               if (load_queue(&lqueue) < 0)
+               if (load_queue(&queue) < 0)
                        errlog(1, "can not load queue");
-               run_queue(&lqueue);
+               run_queue(&queue);
                return (0);
        }
 
index d11f465..7f826b2 100644 (file)
@@ -52,6 +52,7 @@ bounce(struct qitem *it, const char *reason)
                exit(1);
        }
 
+       bzero(&bounceq, sizeof(bounceq));
        LIST_INIT(&bounceq.queue);
        if (add_recp(&bounceq, it->sender, "", 1) != 0)
                goto fail;
index 33e972d..7988a1f 100644 (file)
@@ -200,6 +200,7 @@ load_queue(struct queue *queue)
        char *mailfn;
        off_t hdrlen;
 
+       bzero(queue, sizeof(queue));
        LIST_INIT(&queue->queue);
 
        spooldir = opendir(config->spooldir);