... | ... |
@@ -178,6 +178,10 @@ int cli_bm_scanbuff(const unsigned char *buffer, uint32_t length, const char **v |
178 | 178 |
if(shift == 0) { |
179 | 179 |
prefix = buffer[i - BM_MIN_LENGTH + BM_BLOCK_SIZE]; |
180 | 180 |
p = root->bm_suffix[idx]; |
181 |
+ if(p && p->cnt == 1 && p->pattern0 != prefix) { |
|
182 |
+ i++; |
|
183 |
+ continue; |
|
184 |
+ } |
|
181 | 185 |
pchain = 0; |
182 | 186 |
while(p) { |
183 | 187 |
if(p->pattern0 != prefix) { |