From 806922f643b05b50e423a7f16fc800dfd52ca8ef Mon Sep 17 00:00:00 2001 From: Jay Berkenbilt Date: Sun, 3 Sep 2023 13:56:02 -0400 Subject: ascii85: ignore whitespace between ~ and > (fixes #973) --- libqpdf/Pl_ASCII85Decoder.cc | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) (limited to 'libqpdf/Pl_ASCII85Decoder.cc') diff --git a/libqpdf/Pl_ASCII85Decoder.cc b/libqpdf/Pl_ASCII85Decoder.cc index fd36722a..aef8718d 100644 --- a/libqpdf/Pl_ASCII85Decoder.cc +++ b/libqpdf/Pl_ASCII85Decoder.cc @@ -19,6 +19,17 @@ Pl_ASCII85Decoder::write(unsigned char const* buf, size_t len) return; } for (size_t i = 0; i < len; ++i) { + switch (buf[i]) { + case ' ': + case '\f': + case '\v': + case '\t': + case '\r': + case '\n': + QTC::TC("libtests", "Pl_ASCII85Decoder ignore space"); + // ignore whitespace + continue; + } if (eod > 1) { break; } else if (eod == 1) { @@ -30,16 +41,6 @@ Pl_ASCII85Decoder::write(unsigned char const* buf, size_t len) } } else { switch (buf[i]) { - case ' ': - case '\f': - case '\v': - case '\t': - case '\r': - case '\n': - QTC::TC("libtests", "Pl_ASCII85Decoder ignore space"); - // ignore whitespace - break; - case '~': eod = 1; break; -- cgit v1.2.3-54-g00ecf