mirror of
https://github.com/owasp-modsecurity/ModSecurity.git
synced 2025-09-29 19:24:29 +03:00
iis: Cosmetics fixies on sqli.
This is needed to get it compiled with VS2011 on Windows8
This commit is contained in:
committed by
Felipe Zimmerle
parent
ae252ee876
commit
5046c8327e
@@ -127,11 +127,12 @@ memchr2(const char *haystack, size_t haystack_len, char c0, char c1)
|
|||||||
static const char *
|
static const char *
|
||||||
my_memmem(const char* haystack, size_t hlen, const char* needle, size_t nlen)
|
my_memmem(const char* haystack, size_t hlen, const char* needle, size_t nlen)
|
||||||
{
|
{
|
||||||
|
const char* cur;
|
||||||
|
const char* last;
|
||||||
assert(haystack);
|
assert(haystack);
|
||||||
assert(needle);
|
assert(needle);
|
||||||
assert(nlen > 1);
|
assert(nlen > 1);
|
||||||
const char* cur;
|
last = haystack + hlen - nlen;
|
||||||
const char* last = haystack + hlen - nlen;
|
|
||||||
for (cur = haystack; cur <= last; ++cur) {
|
for (cur = haystack; cur <= last; ++cur) {
|
||||||
if (cur[0] == needle[0] && memcmp(cur, needle, nlen) == 0) {
|
if (cur[0] == needle[0] && memcmp(cur, needle, nlen) == 0) {
|
||||||
return cur;
|
return cur;
|
||||||
@@ -485,6 +486,7 @@ static size_t is_mysql_comment(const char *cs, const size_t len, size_t pos)
|
|||||||
|
|
||||||
static size_t parse_slash(struct libinjection_sqli_state * sf)
|
static size_t parse_slash(struct libinjection_sqli_state * sf)
|
||||||
{
|
{
|
||||||
|
const char* ptr;
|
||||||
size_t clen;
|
size_t clen;
|
||||||
const char *cs = sf->s;
|
const char *cs = sf->s;
|
||||||
const size_t slen = sf->slen;
|
const size_t slen = sf->slen;
|
||||||
@@ -499,7 +501,7 @@ static size_t parse_slash(struct libinjection_sqli_state * sf)
|
|||||||
/*
|
/*
|
||||||
* skip over initial '/x'
|
* skip over initial '/x'
|
||||||
*/
|
*/
|
||||||
const char* ptr = memchr2(cur + 2, slen - (pos + 2), '*', '/');
|
ptr = memchr2(cur + 2, slen - (pos + 2), '*', '/');
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* (ptr == NULL) causes false positive in cppcheck 1.61
|
* (ptr == NULL) causes false positive in cppcheck 1.61
|
||||||
@@ -1286,8 +1288,8 @@ void libinjection_sqli_init(struct libinjection_sqli_state * sf, const char *s,
|
|||||||
|
|
||||||
void libinjection_sqli_reset(struct libinjection_sqli_state * sf, int flags)
|
void libinjection_sqli_reset(struct libinjection_sqli_state * sf, int flags)
|
||||||
{
|
{
|
||||||
ptr_lookup_fn lookup = sf->lookup;;
|
|
||||||
void *userdata = sf->userdata;
|
void *userdata = sf->userdata;
|
||||||
|
ptr_lookup_fn lookup = sf->lookup;;
|
||||||
|
|
||||||
if (flags == 0) {
|
if (flags == 0) {
|
||||||
flags = FLAG_QUOTE_NONE | FLAG_SQL_ANSI;
|
flags = FLAG_QUOTE_NONE | FLAG_SQL_ANSI;
|
||||||
@@ -1936,6 +1938,7 @@ int libinjection_sqli_blacklist(struct libinjection_sqli_state* sql_state)
|
|||||||
char ch;
|
char ch;
|
||||||
size_t i;
|
size_t i;
|
||||||
size_t len = strlen(sql_state->fingerprint);
|
size_t len = strlen(sql_state->fingerprint);
|
||||||
|
int patmatch;
|
||||||
|
|
||||||
if (len < 1) {
|
if (len < 1) {
|
||||||
sql_state->reason = __LINE__;
|
sql_state->reason = __LINE__;
|
||||||
@@ -1959,7 +1962,7 @@ int libinjection_sqli_blacklist(struct libinjection_sqli_state* sql_state)
|
|||||||
}
|
}
|
||||||
fp2[i+1] = '\0';
|
fp2[i+1] = '\0';
|
||||||
|
|
||||||
int patmatch = is_keyword(fp2, len + 1) == TYPE_FINGERPRINT;
|
patmatch = is_keyword(fp2, len + 1) == TYPE_FINGERPRINT;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* No match.
|
* No match.
|
||||||
|
Reference in New Issue
Block a user