diff options
-rw-r--r-- | libmailutils/filter/dot.c | 3 | ||||
-rw-r--r-- | libmailutils/tests/dot.at | 8 | ||||
-rw-r--r-- | libmailutils/tests/testsuite.at | 2 |
3 files changed, 11 insertions, 2 deletions
diff --git a/libmailutils/filter/dot.c b/libmailutils/filter/dot.c index 1e41df12c..d3a3aab34 100644 --- a/libmailutils/filter/dot.c +++ b/libmailutils/filter/dot.c @@ -178,7 +178,7 @@ _dot_encoder (void *xd, size_t isize; char *optr; size_t osize; - int *state = xd; + enum dot_encode_state *state = xd; switch (cmd) { @@ -229,6 +229,7 @@ _dot_encoder (void *xd, { switch (*state) { + case dot_encode_init: case dot_encode_lf: if (j + 2 > osize) result = mu_filter_again; diff --git a/libmailutils/tests/dot.at b/libmailutils/tests/dot.at index 1516a1bf8..7be7bb6b2 100644 --- a/libmailutils/tests/dot.at +++ b/libmailutils/tests/dot.at @@ -48,6 +48,14 @@ end. ]) AT_CLEANUP +AT_SETUP([DOT empty input]) +AT_KEYWORDS([DOT empty input]) +AT_CHECK([fltst dot encode read < /dev/null], +[0], +[. +]) +AT_CLEANUP + AT_SETUP([DOT reversibility]) AT_KEYWORDS([filter dot]) AT_CHECK([ diff --git a/libmailutils/tests/testsuite.at b/libmailutils/tests/testsuite.at index db284fd86..5e302ee6a 100644 --- a/libmailutils/tests/testsuite.at +++ b/libmailutils/tests/testsuite.at @@ -215,9 +215,9 @@ m4_include([hdrcpy.at]) m4_include([linecon.at]) m4_include([htmlent.at]) m4_include([xml.at]) +m4_include([dot.at]) m4_include([crlf.at]) m4_include([crlfdot.at]) -m4_include([dot.at]) AT_BANNER(Debug Specification) m4_include([debugspec.at]) |