diff --git a/crow/include/crow/http_connection.h b/crow/include/crow/http_connection.h
index 6d62c85..2c6a28d 100644
--- a/crow/include/crow/http_connection.h
+++ b/crow/include/crow/http_connection.h
@@ -505,7 +505,7 @@
                 std::size_t index = req->url.find("?");
                 if (index != boost::string_view::npos)
                 {
-                    req->url = req->url.substr(0, index - 1);
+                    req->url = req->url.substr(0, index);
                 }
                 req->urlParams = QueryString(std::string(req->target()));
                 doRead();
diff --git a/crow/include/crow/query_string.h b/crow/include/crow/query_string.h
index 67e426a..553960e 100644
--- a/crow/include/crow/query_string.h
+++ b/crow/include/crow/query_string.h
@@ -344,7 +344,7 @@
         return *this;
     }
 
-    explicit QueryString(std::string url) : url(std::move(url))
+    explicit QueryString(std::string newUrl) : url(std::move(newUrl))
     {
         if (url.empty())
         {
