diff --git a/mail-mta/sendmail/files/sendmail-8.18.1-cdb.patch b/mail-mta/sendmail/files/sendmail-8.18.1-cdb.patch new file mode 100644 index 0000000000000..aee9a747b73d7 --- /dev/null +++ b/mail-mta/sendmail/files/sendmail-8.18.1-cdb.patch @@ -0,0 +1,47 @@ +Link: https://narkive.com/tsmcN7nY.2 + +--- a/sendmail/map.c ++++ b/sendmail/map.c +@@ -3042,7 +3042,7 @@ + char **av; + int *statp; + { +- char *data; ++ char *data, *result; + struct cdb *cdbmap; + unsigned int klen, dlen; + int st, fd; +@@ -3050,6 +3050,7 @@ + char buf[MAXPATHLEN]; + + data = NULL; ++ result = NULL; + cdbmap = map->map_db1; + if (tTd(38, 20)) + sm_dprintf("cdb_map_lookup(%s, %s)\n", map->map_mname, name); +@@ -3136,14 +3137,22 @@ + else + { + dlen = cdb_datalen(cdbmap); +- data = malloc(dlen + 1); ++ data = (char *) sm_malloc(dlen + 1); ++ if (NULL == data) ++ { ++ *statp = EX_TEMPFAIL; ++ return NULL; ++ } + cdb_read(cdbmap, data, dlen, cdb_datapos(cdbmap)); + data[dlen] = '\0'; + } + if (bitset(MF_MATCHONLY, map->map_mflags)) +- return map_rewrite(map, name, strlen(name), NULL); ++ result = map_rewrite(map, name, strlen(name), NULL); + else +- return map_rewrite(map, data, dlen, av); ++ result = map_rewrite(map, data, dlen, av); ++ ++ SM_FREE(data); ++ return result; + } + + /* diff --git a/mail-mta/sendmail/sendmail-8.18.1.10-r4.ebuild b/mail-mta/sendmail/sendmail-8.18.1.10-r4.ebuild index 3ba7b980fc984..3d3d4e8c9dbd4 100644 --- a/mail-mta/sendmail/sendmail-8.18.1.10-r4.ebuild +++ b/mail-mta/sendmail/sendmail-8.18.1.10-r4.ebuild @@ -87,6 +87,7 @@ PATCHES=( "${FILESDIR}"/${PN}-8.16.1-build-system.patch "${FILESDIR}"/${PN}-8.18.1-tcpwrappers.patch "${FILESDIR}"/${PN}-8.18.1-more-c23.patch + "${FILESDIR}"/${PN}-8.18.1-cdb.patch ) src_prepare() { diff --git a/mail-mta/sendmail/sendmail-8.18.1.15-r2.ebuild b/mail-mta/sendmail/sendmail-8.18.1.15-r2.ebuild index 624a74948ac6d..d26adb5cc1c56 100644 --- a/mail-mta/sendmail/sendmail-8.18.1.15-r2.ebuild +++ b/mail-mta/sendmail/sendmail-8.18.1.15-r2.ebuild @@ -87,6 +87,7 @@ PATCHES=( "${FILESDIR}"/${PN}-8.16.1-build-system.patch "${FILESDIR}"/${PN}-8.18.1-tcpwrappers.patch "${FILESDIR}"/${PN}-8.18.1-more-c23.patch + "${FILESDIR}"/${PN}-8.18.1-cdb.patch ) src_prepare() { diff --git a/mail-mta/sendmail/sendmail-8.18.1.16-r1.ebuild b/mail-mta/sendmail/sendmail-8.18.1.16-r1.ebuild index 6d8b04badd2c8..6e6bed8467e10 100644 --- a/mail-mta/sendmail/sendmail-8.18.1.16-r1.ebuild +++ b/mail-mta/sendmail/sendmail-8.18.1.16-r1.ebuild @@ -85,6 +85,7 @@ PDEPEND=" PATCHES=( "${FILESDIR}"/${PN}-8.13.1-delivered_hdr.patch "${FILESDIR}"/${PN}-8.16.1-build-system.patch + "${FILESDIR}"/${PN}-8.18.1-cdb.patch ) src_prepare() { diff --git a/mail-mta/sendmail/sendmail-8.18.2-r1.ebuild b/mail-mta/sendmail/sendmail-8.18.2-r1.ebuild index 9e34afe12038c..bed697169c2bc 100644 --- a/mail-mta/sendmail/sendmail-8.18.2-r1.ebuild +++ b/mail-mta/sendmail/sendmail-8.18.2-r1.ebuild @@ -85,6 +85,7 @@ PDEPEND=" PATCHES=( "${FILESDIR}"/${PN}-8.13.1-delivered_hdr.patch "${FILESDIR}"/${PN}-8.16.1-build-system.patch + "${FILESDIR}"/${PN}-8.18.1-cdb.patch ) src_prepare() {