diff options
Diffstat (limited to 'mail-filter/procmail')
-rw-r--r-- | mail-filter/procmail/files/procmail-3.22-CVE-2014-3618.patch | 18 | ||||
-rw-r--r-- | mail-filter/procmail/files/procmail-3.22-CVE-2017-16844.patch | 13 | ||||
-rw-r--r-- | mail-filter/procmail/files/procmail-CVE-2014-3618-16844.patch | 25 | ||||
-rw-r--r-- | mail-filter/procmail/procmail-3.22-r14.ebuild (renamed from mail-filter/procmail/procmail-3.22-r13.ebuild) | 3 |
4 files changed, 33 insertions, 26 deletions
diff --git a/mail-filter/procmail/files/procmail-3.22-CVE-2014-3618.patch b/mail-filter/procmail/files/procmail-3.22-CVE-2014-3618.patch new file mode 100644 index 000000000000..124d1f996852 --- /dev/null +++ b/mail-filter/procmail/files/procmail-3.22-CVE-2014-3618.patch @@ -0,0 +1,18 @@ +diff --git a/src/formisc.c b/src/formisc.c +index 338733b..c48df52 100644 +--- a/src/formisc.c ++++ b/src/formisc.c +@@ -84,12 +84,11 @@ normal: *target++= *start++; + case '"':*target++=delim='"';start++; + } + ;{ int i; +- do ++ while(*start) /* anything? */ + if((i= *target++= *start++)==delim) /* corresponding delimiter? */ + break; + else if(i=='\\'&&*start) /* skip quoted character */ + *target++= *start++; +- while(*start); /* anything? */ + } + hitspc=2; + } diff --git a/mail-filter/procmail/files/procmail-3.22-CVE-2017-16844.patch b/mail-filter/procmail/files/procmail-3.22-CVE-2017-16844.patch new file mode 100644 index 000000000000..5e610d723da0 --- /dev/null +++ b/mail-filter/procmail/files/procmail-3.22-CVE-2017-16844.patch @@ -0,0 +1,13 @@ +diff --git a/src/formisc.c b/src/formisc.c +index 5c2869d..54fd013 100644 +--- a/src/formisc.c ++++ b/src/formisc.c +@@ -103,7 +103,7 @@ void loadsaved(sp)const struct saved*const sp; /* load some saved text */ + } + /* append to buf */ + void loadbuf(text,len)const char*const text;const size_t len; +-{ if(buffilled+len>buflen) /* buf can't hold the text */ ++{ while(buffilled+len>buflen) /* buf can't hold the text */ + buf=realloc(buf,buflen+=Bsize); + tmemmove(buf+buffilled,text,len);buffilled+=len; + } diff --git a/mail-filter/procmail/files/procmail-CVE-2014-3618-16844.patch b/mail-filter/procmail/files/procmail-CVE-2014-3618-16844.patch deleted file mode 100644 index 4f1714063c9e..000000000000 --- a/mail-filter/procmail/files/procmail-CVE-2014-3618-16844.patch +++ /dev/null @@ -1,25 +0,0 @@ ---- a/src/formisc.c 2019-03-23 19:52:18.450174402 -0400 -+++ b/src/formisc.c 2019-03-23 19:52:47.914351039 -0400 -@@ -84,12 +84,11 @@ - case '"':*target++=delim='"';start++; - } - ;{ int i; -- do -+ while(*start); - if((i= *target++= *start++)==delim) /* corresponding delimiter? */ - break; - else if(i=='\\'&&*start) /* skip quoted character */ - *target++= *start++; -- while(*start); /* anything? */ - } - hitspc=2; - } -@@ -104,7 +103,7 @@ - } - /* append to buf */ - void loadbuf(text,len)const char*const text;const size_t len; --{ if(buffilled+len>buflen) /* buf can't hold the text */ -+{ while(buffilled+len>buflen) /* buf can't hold the text */ - buf=realloc(buf,buflen+=Bsize); - tmemmove(buf+buffilled,text,len);buffilled+=len; - } diff --git a/mail-filter/procmail/procmail-3.22-r13.ebuild b/mail-filter/procmail/procmail-3.22-r14.ebuild index 9534c350bf8f..d99a4ffde722 100644 --- a/mail-filter/procmail/procmail-3.22-r13.ebuild +++ b/mail-filter/procmail/procmail-3.22-r14.ebuild @@ -56,7 +56,8 @@ src_prepare() { eapply "${FILESDIR}/${PN}-3.22-glibc-2.10.patch" # Fix security bugs #522114 and #638108 - eapply "${FILESDIR}/${PN}-CVE-2014-3618-16844.patch" + eapply "${FILESDIR}/${PN}-3.22-CVE-2014-3618.patch" + eapply "${FILESDIR}/${PN}-3.22-CVE-2017-16844.patch" eapply "${FILESDIR}/${PN}-3.22-crash-fix.patch" |