X-Git-Url: http://dolda2000.com/gitweb/?a=blobdiff_plain;f=wrw%2Fform.py;h=53fc82df258dc16309755f8244544c3a5bb635c9;hb=d81da2c8a9a5ec501104aad1734bd7a0548648e3;hp=7184635d15aeeeec3a93b24e1efc3141f09daf46;hpb=8a7ba0dcff7734cce7328e487c1ab38712b84168;p=wrw.git diff --git a/wrw/form.py b/wrw/form.py index 7184635..53fc82d 100644 --- a/wrw/form.py +++ b/wrw/form.py @@ -7,10 +7,10 @@ def formparse(req): buf = {} buf.update(urllib.parse.parse_qsl(req.query)) if req.ihead.get("Content-Type") == "application/x-www-form-urlencoded": - if req.input.limit > 2 ** 20: + rbody = req.input.read(2 ** 20) + if len(rbody) >= 2 ** 20: raise ValueError("x-www-form-urlencoded data is absurdly long") - rbody = req.input.read() - buf.update(urllib.parse.parse_qsl(rbody)) + buf.update(urllib.parse.parse_qsl(rbody.decode("latin1"))) return buf class badmultipart(Exception):