1476 Commits

Author SHA1 Message Date
Chang, Harry
1f4c10a58d Logical combination: support EOD match from purely negative case. 2019-08-13 14:50:07 +08:00
Mostafa Nazari
92edc37c1f BUGFIX: fix Numerical result out of range error
Fix Error errno=34,  fix Numerical result out of range error
issue: https://github.com/intel/hyperscan/issues/155
2019-08-13 14:49:24 +08:00
Derrick Lyndon Pallas
5a1b02bc10 Fix uninitialized use of scatter_unit_uX due to padding
These non-packed structures are placed into a std::vector.  Later, they
contents of the vector are memcpy'd and the CRC of this space is taken.
Some compilers will zero the struct padding but GCC8.2 with -O2 at least
will not.  This means that the CRC is based on uninitialized memory.

Since it is expected that these bytes will be memcpy'd, zero in place once
they're in the std::vector.

Found by Valgrind.

Q.v. Issue #148
2019-08-13 14:49:15 +08:00
Derrick Lyndon Pallas
356c0ab3d4 dispatcher: return correct function type from ifunc resolver 2019-08-13 14:49:00 +08:00
Hong, Yang A
bc37072d5b Rose: add necessary instruction programs to avoid dead loop
Fixes github issue #141
2019-04-10 06:53:03 -04:00
Wang, Xiang W
56e4d5a2c6 runtime: mark scratch unused only when no further scratch references 2019-04-10 06:52:55 -04:00
Wang, Xiang W
28786eb269 Rose: extend handling for unexpected logical combination programs 2019-04-10 06:52:40 -04:00
Wang, Xiang W
6dc9bed310 Rose: add handling for unexpected programs 2019-03-26 10:16:26 -04:00
Wang, Xiang W
229f3d5080 tools: add catches for C++ exceptions 2019-01-21 09:59:37 +08:00
Hong, Yang A
b5a8644b1f mcclellan: fix dump issue in wide-state case. 2019-01-21 09:59:29 +08:00
Hong, Yang A
f68723a606 literal matching: separate path for pure literal patterns 2019-01-21 09:59:22 +08:00
Chang, Harry
9ab674b18e fix dead loop under win10 release bin. 2019-01-21 09:58:55 +08:00
Wang, Xiang W
ff9636e022 rose: disable switch optimization for windows 2019-01-21 09:58:38 +08:00
Hong, Yang A
805a550a0a mcclellan: wide state fixes for sanitisers and accept state construction 2019-01-21 09:58:18 +08:00
Wang, Xiang W
6f3a0a323e Silence clang warnings about unused variable 2019-01-21 09:57:17 +08:00
Guangqing Chen
922fe2ab20 Rose: optimize switch-case with Labels-as-Values 2019-01-21 09:56:58 +08:00
Hong, Yang A
c06d5e1c14 DFA state compression: 16-bit wide and sherman co-exist 2019-01-21 09:56:37 +08:00
Chang, Harry
acffc9d36c Jenkins-1424: fixed error which misses report of logical combination under
vacuous input.
2019-01-21 09:56:21 +08:00
Chang, Harry
62dfd48d53 Jenkins-1080: fixed error reporting logical combination match in "A&!B" type by
moving flush_comb behind report_eod_matches in hs_close_stream/hs_reset_stream.
2019-01-21 09:56:12 +08:00
Wang, Xiang W
8a0e4f8249 Use std::distance explicitly to avoid ambiguity with boost 2019-01-11 16:05:55 +08:00
Lu, Qi
5a0885d235 Windows porting: port hyperscan and chimera tools to windows. 2018-07-09 11:40:43 -04:00
Wang, Xiang W
bf87f8c003 chimera: hybrid of Hyperscan and PCRE 2018-07-09 11:30:35 -04:00
Chang, Harry
8a1c497f44 Logical Combination of patterns. 2018-06-27 14:04:57 +08:00
Wang, Xiang W
08b00f6149 hscollider: fix input length for UTF8 check 2018-06-27 14:04:53 +08:00
Justin Viiret
f877f14641 ue2_graph: more direct property_graph defn 2018-06-27 13:40:26 +08:00
Justin Viiret
a1d4eec116 nfagraph: remove ng_undirected.h 2018-06-27 13:40:21 +08:00
Justin Viiret
3c776b25c3 ng_repeat: use undirected_graph 2018-06-27 13:40:15 +08:00
Justin Viiret
c7c90c7ab7 graph_undirected: adapt bidi graph to undirected
Introduces an adaptor (like the BGL's reverse_graph) that presents an
undirected view of a bidirectional graph.

Initially used in ng_calc_components.
2018-06-27 13:40:10 +08:00
Justin Viiret
16076ed4a3 mcsheng: debug format string fixes 2018-06-27 13:39:30 +08:00
Justin Viiret
25adf3f512 sheng: fix reportCurrent eod flag
eod here should be 0, not 1. The reportCurrent NFA API function for
Sheng is unused at the moment, so this wasn't causing any problems
earlier.
2018-06-27 13:39:24 +08:00
Justin Viiret
e65479dae5 mcclellancompile: MAX_SHERMAN_LIST_LEN can be 9 2018-06-27 13:39:10 +08:00
Justin Viiret
ce7cfbde82 misc: docs, typo fixes, small cleanups 2018-06-27 13:39:05 +08:00
Justin Viiret
ea9d1f69fb rose_build_add: remove unused max_adj param
In prepAcceptForAddAnchoredNFA(), we used to support different values
for max_adj. Since it's now always zero, remove it.
2018-06-27 13:39:00 +08:00
Justin Viiret
08bf909e2b ng_violet: make calcSplitRatio operation faster
Implements count_reachable in a less malloc-happy way, improving
compile performance. Adds a count() function to small_color_map.
2018-06-27 13:38:55 +08:00
Justin Viiret
cadc7028b1 ng_width: turn min width check into assert 2018-06-27 13:38:32 +08:00
Matthew Barr
50ea83cb26 Move cpuid checks inline.
During fat runtime function resolution there was a chance that the PLT
might not be initialised in time for us to call the cpuid check
functions. Moving them inline means there is no PLT to worry about.

Fixes #78
2018-01-19 06:32:18 -05:00
Matthew Barr
090632f61a ext param - more consistent depth check 2018-01-19 06:24:21 -05:00
Justin Viiret
58eda9155d doc: use doxygen @p to refer to parameters 2018-01-19 06:17:22 -05:00
Justin Viiret
def9636d01 doc: document that hs_close_stream frees memory
Add explicit documentation that hs_close_stream() will free the stream
state after returning any matches.
2018-01-19 06:16:14 -05:00
Matthew Barr
1891f14755 Add support for Hamming distance approx matching 2018-01-19 06:11:43 -05:00
Matthew Barr
5021d7ab78 De-const the empty maps.
Clang 3.8 complains about attempting to default init const objects
without a user-provided constructor.
2017-09-22 15:17:56 +10:00
Hong, Yang A
ae918116ab find_better_daddy: position change 2017-09-18 13:31:09 +10:00
Matthew Barr
dd286323a9 Don't let haigs into Tamarama 2017-09-18 13:29:34 +10:00
Justin Viiret
ba0bf0c991 rose_build_add_mask: improve findMaskLiteral perf 2017-09-18 13:29:34 +10:00
Matthew Barr
3b63a95f01 Handle any exceptions while constructing compiler elements
Specifically, NG has a Rose which has a LeftEng which has a depth, which can
throw an error on construction. If we put these in the try-catch we don't
have to worry so much in future.
2017-09-18 13:29:34 +10:00
Matthew Barr
5fc2c803a2 teddy: alignment decl should match defn
Spotted by coverity. #174512
2017-09-18 13:29:34 +10:00
Justin Viiret
af519f3190 hwlm_build: default for HWLMProto::make_small
Silences Coverity warning.
2017-09-18 13:29:34 +10:00
Justin Viiret
19e95b0314 rose_build_matchers: init LitFragment fields
Silences Coverity warning about squash, delay_squash.
2017-09-18 13:29:34 +10:00
Alex Coyte
a1fdc3afcf dedupeLeftfixesVariableLag: refactor, more blockmode deduping 2017-09-18 13:29:34 +10:00
Alex Coyte
d6c050abd6 maintain castle report information 2017-09-18 13:29:34 +10:00