Hi

Since ".." is case sensitive, it's faster to use the system's well-optimized 
memmem than the string loop.

- Lauri
>From d98cfa933b95b9dd5fdc75961ba7d4cbdd8b2d9b Mon Sep 17 00:00:00 2001
From: Lauri Kasanen <[email protected]>
Date: Wed, 9 May 2012 16:33:46 +0300
Subject: [PATCH] http: use memmem for the ".." check


Signed-off-by: Lauri Kasanen <[email protected]>
---
 src/mk_http.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/mk_http.c b/src/mk_http.c
index a39c330..6d434b8 100644
--- a/src/mk_http.c
+++ b/src/mk_http.c
@@ -19,6 +19,8 @@
  *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, 
USA.
  */
 
+#define _GNU_SOURCE
+
 #include <stdio.h>
 #include <string.h>
 #include <stdlib.h>
@@ -182,10 +184,8 @@ int mk_http_init(struct client_session *cs, struct 
session_request *sr)
     }
 
     /* Check backward directory request */
-    if (mk_string_search_n(sr->uri_processed.data,
-                           HTTP_DIRECTORY_BACKWARD,
-                           MK_STR_SENSITIVE,
-                           sr->uri_processed.len) >= 0) {
+    if (memmem(sr->uri_processed.data, sr->uri_processed.len,
+               HTTP_DIRECTORY_BACKWARD, sizeof(HTTP_DIRECTORY_BACKWARD) - 1)) {
         return mk_request_error(MK_CLIENT_FORBIDDEN, cs, sr);
     }
 
-- 
1.7.2.1

_______________________________________________
Monkey mailing list
[email protected]
http://lists.monkey-project.com/listinfo/monkey

Reply via email to