diff options
Diffstat (limited to 'network/thttpd/patches/2.25b/thttpd-2.25b-fix-illegal-path-info.patch')
-rw-r--r-- | network/thttpd/patches/2.25b/thttpd-2.25b-fix-illegal-path-info.patch | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/network/thttpd/patches/2.25b/thttpd-2.25b-fix-illegal-path-info.patch b/network/thttpd/patches/2.25b/thttpd-2.25b-fix-illegal-path-info.patch new file mode 100644 index 0000000000..d1688f1446 --- /dev/null +++ b/network/thttpd/patches/2.25b/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 |