commit 1ecc6bb29e24a4f89470ff91b2682b46e0576ad4
Author: Jay Berkenbilt <ejb@ql.org>
Date:   Sat Oct 14 17:04:58 2023 -0400

    Don't lose character after \d or \dd parsing string (fixes #1050)

diff --git a/libqpdf/QPDFTokenizer.cc b/libqpdf/QPDFTokenizer.cc
index d98af8a9..ca09708a 100644
--- a/libqpdf/QPDFTokenizer.cc
+++ b/libqpdf/QPDFTokenizer.cc
@@ -692,16 +691,21 @@ QPDFTokenizer::inHexstring2nd(char ch)
 void
 QPDFTokenizer::inCharCode(char ch)
 {
+    bool handled = false;
     if (('0' <= ch) && (ch <= '7')) {
         this->char_code = 8 * this->char_code + (int(ch) - int('0'));
         if (++(this->digit_count) < 3) {
             return;
         }
-        // We've accumulated \ddd.  PDF Spec says to ignore high-order overflow.
+        handled = true;
     }
+    // We've accumulated \ddd or we have \d or \dd followed by other than an octal digit. The PDF
+    // Spec says to ignore high-order overflow.
     this->val += char(this->char_code % 256);
     this->state = st_in_string;
-    return;
+    if (!handled) {
+        inString(ch);
+    }
 }
 
 void
