Author: tuexen
Date: Sat Jul 16 07:48:01 2016
New Revision: 302928
URL: https://svnweb.freebsd.org/changeset/base/302928

Log:
  Address a potential memory leak found a the clang static code analyzer
  running on the userland stack.
  
  MFC after:    3 days

Modified:
  head/sys/netinet/sctp_auth.c

Modified: head/sys/netinet/sctp_auth.c
==============================================================================
--- head/sys/netinet/sctp_auth.c        Sat Jul 16 06:41:02 2016        
(r302927)
+++ head/sys/netinet/sctp_auth.c        Sat Jul 16 07:48:01 2016        
(r302928)
@@ -542,7 +542,7 @@ sctp_insert_sharedkey(struct sctp_keyhea
                }
        }
        /* shouldn't reach here */
-       return (0);
+       return (EINVAL);
 }
 
 void
@@ -622,8 +622,11 @@ sctp_copy_skeylist(const struct sctp_key
        LIST_FOREACH(skey, src, next) {
                new_skey = sctp_copy_sharedkey(skey);
                if (new_skey != NULL) {
-                       (void)sctp_insert_sharedkey(dest, new_skey);
-                       count++;
+                       if (sctp_insert_sharedkey(dest, new_skey)) {
+                               sctp_free_sharedkey(new_skey);
+                       } else {
+                               count++;
+                       }
                }
        }
        return (count);
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to