X-Git-Url: http://dolda2000.com/gitweb/?a=blobdiff_plain;f=wrw%2Fform.py;h=a57a812a2cf3c3f9541305d88f6deda958b6d8e1;hb=118fcef771da97a873c57d8c45f8fd6e0bd1c9b0;hp=7184635d15aeeeec3a93b24e1efc3141f09daf46;hpb=8a7ba0dcff7734cce7328e487c1ab38712b84168;p=wrw.git diff --git a/wrw/form.py b/wrw/form.py index 7184635..a57a812 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(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):