summaryrefslogtreecommitdiff
path: root/network/thttpd/patches/thttpd-2.25b-fix-illegal-path-info.patch
diff options
context:
space:
mode:
Diffstat (limited to 'network/thttpd/patches/thttpd-2.25b-fix-illegal-path-info.patch')
-rw-r--r--network/thttpd/patches/thttpd-2.25b-fix-illegal-path-info.patch17
1 files changed, 17 insertions, 0 deletions
diff --git a/network/thttpd/patches/thttpd-2.25b-fix-illegal-path-info.patch b/network/thttpd/patches/thttpd-2.25b-fix-illegal-path-info.patch
new file mode 100644
index 0000000000..d1688f1446
--- /dev/null
+++ b/network/thttpd/patches/thttpd-2.25b-fix-illegal-path-info.patch
@@ -0,0 +1,17 @@
+diff -Naur thttpd-2.25b.orig/libhttpd.c thttpd-2.25b/libhttpd.c
+--- thttpd-2.25b.orig/libhttpd.c 2007-10-14 10:09:55.000000000 +0000
++++ thttpd-2.25b/libhttpd.c 2007-10-14 10:09:11.000000000 +0000
+@@ -2322,8 +2320,11 @@
+ {
+ int i;
+ i = strlen( hc->origfilename ) - strlen( hc->pathinfo );
+- if ( i > 0 && strcmp( &hc->origfilename[i], hc->pathinfo ) == 0 )
+- hc->origfilename[i - 1] = '\0';
++ if ( strcmp( &hc->origfilename[i], hc->pathinfo ) == 0 )
++ {
++ if ( i == 0 ) hc->origfilename[0] = '\0';
++ else hc->origfilename[i - 1] = '\0';
++ }
+ }
+
+ /* If the expanded filename is an absolute path, check that it's still