CHUNKING: Fix flush of chunk on error
[exim.git] / src / src / smtp_in.c
index b27949e35c047437e0c0d9ea03a34768250aa0a1..1fdb705a5f86cd4e5e140a3fd792aac992cc4ca9 100644 (file)
@@ -681,8 +681,11 @@ return buf;
 void
 bdat_flush_data(void)
 {
-unsigned n = chunking_data_left;
-(void) bdat_getbuf(&n);
+while (chunking_data_left)
+{
+  unsigned n = chunking_data_left;
+  (void) bdat_getbuf(&n);
+}
 
 receive_getc = lwr_receive_getc;
 receive_getbuf = lwr_receive_getbuf;