]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
str_append_unescaped() didn't unescape \\ correctly.
authorTimo Sirainen <tss@iki.fi>
Tue, 16 Jun 2009 17:39:40 +0000 (13:39 -0400)
committerTimo Sirainen <tss@iki.fi>
Tue, 16 Jun 2009 17:39:40 +0000 (13:39 -0400)
The function wasn't used anywhere in Dovecot though.

--HG--
branch : HEAD

src/lib/strescape.c

index fb047abd8439899121c6694d36db900ece19d82a..4d08a105f7705f659df064ceaf4b73c18124d473 100644 (file)
@@ -44,8 +44,11 @@ void str_append_unescaped(string_t *dest, const void *src, size_t src_size)
 
                str_append_n(dest, src_c + start, i-start);
 
-               if (i < src_size)
-                       i++;
+               if (i < src_size) {
+                       if (++i == src_size)
+                               break;
+                       str_append_c(dest, src_c[i++]);
+               }
                start = i;
        }
 }