1.49b: Allocator and dir listing changes

- Minor improvement to the allocator,
- Several directory listing signatures added.
This commit is contained in:
Steve Pinkham 2010-07-05 22:45:35 -04:00
parent 0d9f8c7fc5
commit b9594e48fa
4 changed files with 22 additions and 2 deletions

View File

@ -1,3 +1,10 @@
Version 1.49b:
--------------
- Minor improvement to the allocator,
- Several directory listing signatures added.
Version 1.48b:
--------------

View File

@ -20,7 +20,7 @@
#
PROGNAME = skipfish
VERSION = 1.48b
VERSION = 1.49b
OBJFILES = http_client.c database.c crawler.c analysis.c report.c
INCFILES = alloc-inl.h string-inl.h debug.h types.h http_client.h \

View File

@ -137,7 +137,10 @@ static inline void* __DFL_ck_memdup(u8* mem, u32 size) {
static inline void __DFL_ck_free(void* mem) {
if (mem) free(mem - 6);
if (mem) {
if (ALLOC_C(mem) != ALLOC_MAGIC) FATAL("Bad alloc canary");
free(mem - 6);
}
}

View File

@ -2357,6 +2357,16 @@ static void check_for_stuff(struct http_request* req,
return;
}
/* Add more directory signatures here... */
if (strstr((char*)sniffbuf, "<A HREF=\"?N=D\">") ||
strstr((char*)sniffbuf, "<a href=\"?C=N;O=D\">") ||
strstr((char*)sniffbuf, "<h1>Index of /") ||
strstr((char*)sniffbuf, ">[To Parent Directory]<")) {
problem(PROB_FILE_POI, req, res, (u8*)"Directory listing", req->pivot, 0);
return;
}
if (res->sniff_mime_id == MIME_ASC_GENERIC) {
u8* x = sniffbuf;
u32 slashes = 0;