svn commit: r302928 - head/sys/netinet

Michael Tuexen tuexen at FreeBSD.org
Sat Jul 16 07:48:02 UTC 2016


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);


More information about the svn-src-all mailing list