mirror of https://github.com/OISF/suricata
cybersecurityidsintrusion-detection-systemintrusion-prevention-systemipsnetwork-monitornetwork-monitoringnsmsecuritysuricatathreat-hunting
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
The radix tree stores user data. However, it had no function to return this data to the consumers of the API. Instead, on lookup, it would set a field "user_data_result" in the nodes prefix structure which could then be read by the caller. Apart for this not being a very nice design as it exposes API internals to the caller, it is not thread safe. By updating the global data structure without any form (or suggestion) of locking, threads could overwrite the same field unexpectedly. This patch modifies the lookup logic to get rid of this stored user_data_result. Instead, all the lookup functions how take an addition argument: void **user_data_result. Through this pointer the user data is returned. It's allowed to be NULL, in this case the user data is ignored. This is a significant API change, that affects a lot of tests and callers. These will be updated in follow up patches. Bug #1073. |
12 years ago | |
|---|---|---|
| benches | ||
| contrib | 12 years ago | |
| doc | 13 years ago | |
| m4 | 16 years ago | |
| qa | 12 years ago | |
| rules | 12 years ago | |
| scripts | 13 years ago | |
| src | 12 years ago | |
| .gitignore | 12 years ago | |
| COPYING | ||
| ChangeLog | 12 years ago | |
| LICENSE | 16 years ago | |
| Makefile.am | 12 years ago | |
| Makefile.cvs | ||
| acsite.m4 | 16 years ago | |
| autogen.sh | 13 years ago | |
| classification.config | 16 years ago | |
| config.rpath | 12 years ago | |
| configure.ac | 12 years ago | |
| doxygen.cfg | 12 years ago | |
| reference.config | 14 years ago | |
| suricata.yaml.in | 12 years ago | |
| threshold.config | 13 years ago | |