Author: dab
Date: Thu Mar  8 17:14:16 2018
New Revision: 330664
URL: https://svnweb.freebsd.org/changeset/base/330664

Log:
  MFC r330034
  
  Fix a memory leak in syslogd
  
  A memory leak in syslogd for processing of forward actions was
  reported. This modification adapts the patch submitted with that bug
  to fix the leak.
  
  PR:           198385
  Submitted by: Sreeram <sreeram...@yahoo.com>
  Reported by:  Sreeram <sreeram...@yahoo.com>
  Sponsored by: Dell EMC

Modified:
  stable/10/usr.sbin/syslogd/syslogd.c
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/usr.sbin/syslogd/syslogd.c
==============================================================================
--- stable/10/usr.sbin/syslogd/syslogd.c        Thu Mar  8 17:04:36 2018        
(r330663)
+++ stable/10/usr.sbin/syslogd/syslogd.c        Thu Mar  8 17:14:16 2018        
(r330664)
@@ -161,7 +161,7 @@ STAILQ_HEAD(, funix) funixes =      { &funix_default,
  * This structure represents the files that will have log
  * copies printed.
  * We require f_file to be valid if f_type is F_FILE, F_CONSOLE, F_TTY
- * or if f_type if F_PIPE and f_pid > 0.
+ * or if f_type is F_PIPE and f_pid > 0.
  */
 
 struct filed {
@@ -353,10 +353,16 @@ close_filed(struct filed *f)
                return;
 
        switch (f->f_type) {
+       case F_FORW:
+            if (f->f_un.f_forw.f_addr) {
+                freeaddrinfo(f->f_un.f_forw.f_addr);
+                f->f_un.f_forw.f_addr = NULL;
+            }
+            /*FALLTHROUGH*/
+
        case F_FILE:
        case F_TTY:
        case F_CONSOLE:
-       case F_FORW:
                f->f_type = F_UNUSED;
                break;
        case F_PIPE:
_______________________________________________
svn-src-stable-10@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-stable-10
To unsubscribe, send any mail to "svn-src-stable-10-unsubscr...@freebsd.org"

Reply via email to