0016_auth_rimap_quotes.dpatch by All lines beginning with `## DP:' are a description of the patch. Avoid infinite loop when username/password has a double quote character. Upstream change: https://bugzilla.andrew.cmu.edu/cgi-bin/cvsweb.cgi/src/sasl/saslauthd/auth_rimap.c.diff?r1=1.12;r2=1.13 diff -urNad etch~/saslauthd/auth_rimap.c etch/saslauthd/auth_rimap.c --- etch~/saslauthd/auth_rimap.c 2007-03-29 15:16:20.000000000 +0300 +++ etch/saslauthd/auth_rimap.c 2008-02-13 13:42:53.000000000 +0200 @@ -162,6 +162,7 @@ num_quotes = 0; p1 = s; while ((p1 = strchr(p1, '"')) != NULL) { + p1++; num_quotes++; } @@ -438,7 +439,7 @@ syslog(LOG_WARNING, "auth_rimap: writev: %m"); memset(qlogin, 0, strlen(qlogin)); free(qlogin); - memset(qpass, 0, strlen(qlogin)); + memset(qpass, 0, strlen(qpass)); free(qpass); (void)close(s); return strdup(RESP_IERROR); @@ -447,7 +448,7 @@ /* don't need these any longer */ memset(qlogin, 0, strlen(qlogin)); free(qlogin); - memset(qpass, 0, strlen(qlogin)); + memset(qpass, 0, strlen(qpass)); free(qpass); /* read and parse the LOGIN response */