due to hardware limitations we cannot rely on the OESC error code
before the hardware parsed the initial huffman tree. For this case
we have to add a branch to the EOF handling. we return an errorcode 2
(invalid data) if we where still in the initial phase (bytes_out == 0).
Otherwise we continue with the default EOF handling.
---
dfltcc.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/dfltcc.c b/dfltcc.c
index 9f86581..e45b3ce 100644
--- a/dfltcc.c
+++ b/dfltcc.c
@@ -18,6 +18,7 @@
#include <config.h>
#include <stdlib.h>
+#include <errno.h>
#ifdef HAVE_SYS_SDT_H
# include <sys/sdt.h>
@@ -438,6 +439,8 @@ dfltcc_inflate ()
{
/* Premature EOF. */
flush_outbuf ();
+ if (bytes_out == 0)
+ return 2;
errno = 0;
read_error ();
}
--
2.48.1