diff --git a/net-lib/net/qp.rkt b/net-lib/net/qp.rkt index 779f6831c4..0c138e9d4c 100644 --- a/net-lib/net/qp.rkt +++ b/net-lib/net/qp.rkt @@ -77,6 +77,9 @@ (loop (read-byte in)) ;; Not a LF? Well, ok. (loop next-next)))] + [(eof-object? next) + (warning "Illegal qp sequence: `='") + (display "=" out)] [(hex-digit? next) (let ([next-next (read-byte in)]) (cond [(eof-object? next-next) diff --git a/net-test/tests/net/encoders.rkt b/net-test/tests/net/encoders.rkt index 292ae94baa..c9c3931dcf 100644 --- a/net-test/tests/net/encoders.rkt +++ b/net-test/tests/net/encoders.rkt @@ -79,7 +79,8 @@ do (check-same-all base64-encode-stream base64-decode-stream #rx#"^[0-9a-zA-Z+=/]*$" - 72))) + 72)) + (test (qp-decode #"=20=") #" =")) #| Use this to compare base64 encode/decode against the unix utilities