git: 0367371f7457 - main - www/hypermail: add a patch to fix memory issues
Baptiste Daroussin
bapt at FreeBSD.org
Wed May 19 15:49:07 UTC 2021
The branch main has been updated by bapt:
URL: https://cgit.FreeBSD.org/ports/commit/?id=0367371f745716ba6e9eca552c935fc8d88f1fb3
commit 0367371f745716ba6e9eca552c935fc8d88f1fb3
Author: Baptiste Daroussin <bapt at FreeBSD.org>
AuthorDate: 2021-05-19 13:56:19 +0000
Commit: Baptiste Daroussin <bapt at FreeBSD.org>
CommitDate: 2021-05-19 15:49:04 +0000
www/hypermail: add a patch to fix memory issues
---
www/hypermail/Makefile | 2 +-
www/hypermail/files/patch-memory-fixes | 60 ++++++++++++++++++++++++++++++++++
2 files changed, 61 insertions(+), 1 deletion(-)
diff --git a/www/hypermail/Makefile b/www/hypermail/Makefile
index 28c023683bf6..c4e7700a519b 100644
--- a/www/hypermail/Makefile
+++ b/www/hypermail/Makefile
@@ -3,7 +3,7 @@
PORTNAME= hypermail
PORTVERSION= 2.4.0
DISTVERSIONPREFIX= v
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= www mail
MAINTAINER= bapt at FreeBSD.org
diff --git a/www/hypermail/files/patch-memory-fixes b/www/hypermail/files/patch-memory-fixes
new file mode 100644
index 000000000000..8e4df362ea77
--- /dev/null
+++ b/www/hypermail/files/patch-memory-fixes
@@ -0,0 +1,60 @@
+diff --git src/parse.c src/parse.c
+index 36da5df..679514c 100644
+--- src/parse.c
++++ src/parse.c
+@@ -924,7 +924,7 @@ static char *mdecodeRFC2047(char *string, int length, char *charsetsave)
+ char charset[129];
+ char encoding[33];
+ char dummy[129];
+- char *ptr;
++ char *ptr, *endptr;
+ char *old_output;
+
+ #ifdef NOTUSED
+@@ -959,6 +959,7 @@ static char *mdecodeRFC2047(char *string, int length, char *charsetsave)
+
+ if (!strcasecmp("q", encoding)) {
+ /* quoted printable decoding */
++ endptr = ptr + strlen(ptr);
+
+ #ifdef HAVE_ICONV
+ char *orig2,*output2,*output3;
+@@ -967,7 +968,7 @@ static char *mdecodeRFC2047(char *string, int length, char *charsetsave)
+ memset(output2,0,strlen(string)+1);
+ old_output=output;
+
+- for (; *ptr; ptr++) {
++ for (; ptr < endptr; ptr++) {
+ switch (*ptr) {
+ case '=':
+ sscanf(ptr + 1, "%02X", &value);
+@@ -991,7 +992,7 @@ static char *mdecodeRFC2047(char *string, int length, char *charsetsave)
+ memcpy(charsetsave,charset,charsetlen);
+ charsetsave[charsetlen] = '\0';
+ #else
+- for (; *ptr; ptr++) {
++ for (; ptr < endptr; ptr++) {
+ switch (*ptr) {
+ case '=':
+ sscanf(ptr + 1, "%02X", &value);
+@@ -2378,6 +2379,7 @@ int parsemail(char *mbox, /* file name */
+ #endif
+ if (charset) {
+ free(charset);
++ charset = NULL;
+ }
+ charsetsave[0] = '\0';
+
+diff --git src/uudecode.c src/uudecode.c
+index 4b4310d..f5a7c20 100644
+--- src/uudecode.c
++++ src/uudecode.c
+@@ -75,7 +75,7 @@ int uudecode(FILE *input, /* get file data from (if needed) */
+ if (init) {
+ /* search for header line */
+ /* AUDIT biege: BOF in buf! */
+- sprintf(scanfstring, "begin %%o %%%us", sizeof(buf));
++ sprintf(scanfstring, "begin %%o %%%us", sizeof(buf) -1);
+ while (2 != sscanf(iptr, scanfstring, &mode, buf)) {
+ if (!fgets(buf, MAXPATHLEN, input)) {
+ return 2;
More information about the dev-commits-ports-all
mailing list