<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -22,10 +22,11 @@
   [param-string separator]
   (reduce
     (fn [param-map s]
-      (let [[key val] (re-split #&quot;=&quot; s)]
+      (if-let [[_ key val] (re-matches #&quot;([^=]+)=(.*)&quot; s)]
         (assoc-vec param-map
           (keyword (urldecode key))
-          (urldecode (or val &quot;&quot;)))))
+          (urldecode (or val &quot;&quot;)))
+        param-map))
     {}
     (remove blank?
       (re-split separator param-string))))</diff>
      <filename>src/compojure/http/request.clj</filename>
    </modified>
    <modified>
      <diff>@@ -16,6 +16,13 @@
   (is (= (parse-query-params {:query-string &quot;a=1%202&quot;})
          {:a &quot;1 2&quot;})))
 
+(deftest query-params-invalid
+  (are (= (parse-query-params {:query-string _1}) _2)
+    &quot;&quot;      {}
+    &quot;=&quot;     {}
+    &quot;=1&quot;    {}
+    &quot;a=1&amp;=&quot; {:a &quot;1&quot;}))
+
 (deftest urlencoded-charset
   (is (urlencoded-form?
         {:content-type &quot;application/x-www-form-urlencoded; charset=UTF8&quot;})))</diff>
      <filename>test/compojure/http/request.clj</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>bffc3921bce52d76e1c0e7c93653e0abceef7bb5</id>
    </parent>
  </parents>
  <author>
    <name>weavejester</name>
    <email>jreeves@weavejester.com</email>
  </author>
  <url>http://github.com/abedra/compojure/commit/e365932c8f799f03b1318bf19845559df9648174</url>
  <id>e365932c8f799f03b1318bf19845559df9648174</id>
  <committed-date>2009-09-29T17:53:38-07:00</committed-date>
  <authored-date>2009-09-29T17:53:25-07:00</authored-date>
  <message>Updated param parsing to cope with bad input. Fixes #16.</message>
  <tree>6a0284bdfa2ba1bdc316d93ad65e35fa0f925fec</tree>
  <committer>
    <name>weavejester</name>
    <email>jreeves@weavejester.com</email>
  </committer>
</commit>
