diff --git a/src/plugins/hs_apps/http_server.c b/src/plugins/hs_apps/http_server.c
index e7d7ad3..7a4a519 100644
--- a/src/plugins/hs_apps/http_server.c
+++ b/src/plugins/hs_apps/http_server.c
@@ -226,7 +226,7 @@
 
   /* Replace slashes with spaces, stop at the end of the path */
   i = 0;
-  while (1)
+  while (i < vec_len (request))
     {
       if (request[i] == '/')
 	request[i] = ' ';
@@ -237,13 +237,6 @@
 	  break;
 	}
       i++;
-      /* Should never happen */
-      if (i == vec_len (request))
-	{
-	  char *msg = "Bad CLI";
-	  vec_validate_init_c_string (html, msg, strlen (msg));
-	  goto send;
-	}
     }
 
   /* Generate the html header */
@@ -259,8 +252,6 @@
   html = format (html, "%v", reply);
   html = format (html, html_footer);
 
-send:
-
   /* Send it */
   rpc_args = clib_mem_alloc (sizeof (*args));
   clib_memcpy_fast (rpc_args, args, sizeof (*args));
diff --git a/src/plugins/http/http.c b/src/plugins/http/http.c
index 0868027..705af9a 100644
--- a/src/plugins/http/http.c
+++ b/src/plugins/http/http.c
@@ -418,13 +418,13 @@
 	  goto error;
 	}
 
-      len = i - hc->rx_buf_offset;
+      len = i - hc->rx_buf_offset - 1;
     }
   else if ((i = v_find_index (hc->rx_buf, 0, "POST ")) >= 0)
     {
       hc->method = HTTP_REQ_POST;
       hc->rx_buf_offset = i + 6;
-      len = vec_len (hc->rx_buf) - hc->rx_buf_offset;
+      len = vec_len (hc->rx_buf) - hc->rx_buf_offset - 1;
     }
   else
     {
