35 lines
1.1 KiB
Diff
35 lines
1.1 KiB
Diff
0016_auth_rimap_quotes.dpatch by <fabbe@debian.org>
|
|
|
|
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 */
|