Skip to content

Commit

Permalink
Revert "Allow invalid UTF-8 octets when :lenient t is specified for `…
Browse files Browse the repository at this point in the history
…url-decode(-params)?`."
  • Loading branch information
fukamachi committed Sep 8, 2016
1 parent 76be3b4 commit 773a927
Showing 1 changed file with 5 additions and 15 deletions.
20 changes: 5 additions & 15 deletions src/decode.lisp
Expand Up @@ -32,8 +32,7 @@
(defun url-decode (data &key
(encoding babel-encodings:*default-character-encoding*)
(start 0)
end
(lenient nil))
end)
(declare (type (or string (simple-array (unsigned-byte 8) (*))) data)
(type integer start)
(optimize (speed 3) (safety 2)))
Expand Down Expand Up @@ -76,7 +75,7 @@
(:eof
(when parsing-encoded-part
(error 'url-decoding-error)))))
(babel:octets-to-string buffer :end i :encoding encoding :errorp (not lenient))))
(babel:octets-to-string buffer :end i :encoding encoding)))

(defun url-decode-params (data &key
(delimiter #\&)
Expand All @@ -100,13 +99,8 @@
(declare (ignore error))
(when lenient
(go continue)))))
(collect
(cons (url-decode data :encoding encoding
:start start-mark :end =-mark
:lenient lenient)
(url-decode data :encoding encoding
:start (1+ =-mark) :end p
:lenient lenient))))
(collect (cons (url-decode data :encoding encoding :start start-mark :end =-mark)
(url-decode data :encoding encoding :start (1+ =-mark) :end p))))
continue)
(setq start-mark nil
=-mark nil))
Expand All @@ -117,11 +111,7 @@
(declare (ignore error))
(when lenient
(go continue)))))
(collect
(cons (url-decode data :encoding encoding
:start start-mark :end p
:lenient lenient)
nil)))
(collect (cons (url-decode data :encoding encoding :start start-mark :end p) nil)))
continue)
(setq start-mark nil)))
(with-array-parsing (char p data start end (and (not (stringp data))
Expand Down

0 comments on commit 773a927

Please sign in to comment.