git: e3bbb369c44b - stable/13 - libkiconv: address memory leak in not-found cases

Ed Maste emaste at FreeBSD.org
Wed Apr 28 00:10:59 UTC 2021


The branch stable/13 has been updated by emaste:

URL: https://cgit.FreeBSD.org/src/commit/?id=e3bbb369c44b7b3c43a430b090d47e67573edb6d

commit e3bbb369c44b7b3c43a430b090d47e67573edb6d
Author:     Ed Maste <emaste at FreeBSD.org>
AuthorDate: 2021-04-21 17:45:27 +0000
Commit:     Ed Maste <emaste at FreeBSD.org>
CommitDate: 2021-04-28 00:10:12 +0000

    libkiconv: address memory leak in not-found cases
    
    Found in "Understanding and Detecting Disordered Error Handling with
    Precise Function Pairing" by Qiushi Wu et al.
    
    Reviewed by:    imp, jhb
    Sponsored by:   The FreeBSD Foundation
    Differential Revision:  https://reviews.freebsd.org/D29896
    
    (cherry picked from commit 3cfd08c1c74058451a02bac35307bf7fa509c617)
---
 lib/libkiconv/kiconv_sysctl.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/lib/libkiconv/kiconv_sysctl.c b/lib/libkiconv/kiconv_sysctl.c
index da68b3011f36..841a162bfd27 100644
--- a/lib/libkiconv/kiconv_sysctl.c
+++ b/lib/libkiconv/kiconv_sysctl.c
@@ -59,6 +59,7 @@ kiconv_lookupconv(const char *drvname)
 				free(drivers);
 				return (0);
 			}
+		free(drivers);
 	}
 	return (ENOENT);
 }
@@ -86,6 +87,7 @@ kiconv_lookupcs(const char *tocode, const char *fromcode)
 				return (0);
 			}
 		}
+		free(csi);
 	}
 	return (ENOENT);
 }


More information about the dev-commits-src-all mailing list