]> source.dussan.org Git - rspamd.git/commitdiff
[Minor] Fix rfc2047 quoted printable version
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Mon, 19 Dec 2016 21:42:49 +0000 (21:42 +0000)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Mon, 19 Dec 2016 21:42:49 +0000 (21:42 +0000)
src/libutil/str_util.c

index c5df324b754c2d0aa9cb3b4f11c4d4359cf90ee7..bccb0699fb056ac40c2768c37d8b708280b821d8 100644 (file)
@@ -1908,7 +1908,7 @@ decode:
                        if (end - o >= remain) {
                                processed = rspamd_memcspn (p, "=_", remain);
                                memcpy (o, p, processed);
-                               o += remain;
+                               o += processed;
 
                                if (processed == remain) {
                                        break;
@@ -1918,7 +1918,7 @@ decode:
                                        remain -= processed;
                                        p += processed;
 
-                                       if (*p == '=') {
+                                       if (G_LIKELY (*p == '=')) {
                                                p ++;
                                                /* Skip comparison, as we know that we have found match */
                                                goto decode;
@@ -1926,6 +1926,7 @@ decode:
                                        else {
                                                *o++ = ' ';
                                                p ++;
+                                               remain --;
                                        }
                                }
                        }