git: 8e64d97d94f7 - stable/11 - libkiconv: address memory leak in not-found cases

Ed Maste emaste at FreeBSD.org
Wed Apr 28 00:12:32 UTC 2021


The branch stable/11 has been updated by emaste:

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

commit 8e64d97d94f7a1ad186c1168e905f18eb2fe5f8b
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:12:06 +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 7eebf2b4e0c7..bc2e3341ab0b 100644
--- a/lib/libkiconv/kiconv_sysctl.c
+++ b/lib/libkiconv/kiconv_sysctl.c
@@ -57,6 +57,7 @@ kiconv_lookupconv(const char *drvname)
 				free(drivers);
 				return (0);
 			}
+		free(drivers);
 	}
 	return (ENOENT);
 }
@@ -84,6 +85,7 @@ kiconv_lookupcs(const char *tocode, const char *fromcode)
 				return (0);
 			}
 		}
+		free(csi);
 	}
 	return (ENOENT);
 }


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