diff options
author | Yu Watanabe <watanabe.yu+github@gmail.com> | 2020-12-29 23:50:54 +0900 |
---|---|---|
committer | Yu Watanabe <watanabe.yu+github@gmail.com> | 2020-12-30 04:14:22 +0900 |
commit | ae45e1a3832fbb6c96707687e42f0b4aaab52c9b (patch) | |
tree | 3ad0081a36a07fccb24908c20d3902308ef8fb4b /test | |
parent | b652cccab9ed4091ec347f6e924be131105279e9 (diff) | |
download | systemd-ae45e1a3832fbb6c96707687e42f0b4aaab52c9b.tar.gz |
resolve: slightly optimize dns_answer_add()
Previously, dns_answer_add() was O(n^2).
With this change dns_packet_extract() becomes ~15 times faster for some
extremal case.
Before:
```
$ time ./fuzz-dns-packet ~/downloads/clusterfuzz-testcase-minimized-fuzz-dns-packet-5631106733047808
/home/watanabe/downloads/clusterfuzz-testcase-minimized-fuzz-dns-packet-5631106733047808... ok
real 0m15.453s
user 0m15.430s
sys 0m0.007s
```
After:
```
$ time ./fuzz-dns-packet ~/downloads/clusterfuzz-testcase-minimized-fuzz-dns-packet-5631106733047808
/home/watanabe/downloads/clusterfuzz-testcase-minimized-fuzz-dns-packet-5631106733047808... ok
real 0m0.831s
user 0m0.824s
sys 0m0.006s
```
Hopefully fixes oss-fuzz#19227.
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=19227
Diffstat (limited to 'test')
-rw-r--r-- | test/fuzz/fuzz-dns-packet/oss-fuzz-19227 | bin | 0 -> 30586 bytes |
1 files changed, 0 insertions, 0 deletions
diff --git a/test/fuzz/fuzz-dns-packet/oss-fuzz-19227 b/test/fuzz/fuzz-dns-packet/oss-fuzz-19227 Binary files differnew file mode 100644 index 0000000000..62828e7446 --- /dev/null +++ b/test/fuzz/fuzz-dns-packet/oss-fuzz-19227 |