File CVE-2011-3208.patch of Package cyrus-imapd

diff --git a/imap/nntpd.c b/imap/nntpd.c
index 29473c5..b08a2c4 100644
--- a/imap/nntpd.c
+++ b/imap/nntpd.c
@@ -4104,7 +4104,9 @@ static struct wildmat *split_wildmats(char *str)
 	else if (*c == '@') wild[n].not = -1;	/* absolute not (feeding) */
 	else wild[n].not = 0;
 
-	strcpy(p, wild[n].not ? c + 1 : c);
+        strncpy(p, wild[n].not ? c + 1 : c, pattern+sizeof(pattern) - p);
+        pattern[sizeof(pattern)-1] = '\0';
+
 	wild[n++].pat = xstrdup(pattern);
     } while (c != str);
     wild[n].pat = NULL;
openSUSE Build Service is sponsored by