mirror of
https://github.com/zeek/zeek.git
synced 2025-10-04 15:48:19 +00:00
Fix segfault when incrementing whole vector values.
Also removed RefExpr::Eval(Val*) method since it was never called (Clang emitted warning about this hiding overloaded virtual function UnaryExpr::Eval(Frame*)) and doesn't appear to be necessary even if it was called to avoid the default vector handling of UnaryExpr::Eval (as the comment suggests as the intention).
This commit is contained in:
parent
8279de25c9
commit
353393f9bd
5 changed files with 67 additions and 11 deletions
5
testing/btest/Baseline/language.incr-vec-expr/out
Normal file
5
testing/btest/Baseline/language.incr-vec-expr/out
Normal file
|
@ -0,0 +1,5 @@
|
|||
[0, 0, 0]
|
||||
[a=0, b=test, c=[1, 2, 3]]
|
||||
[1, 1, 1]
|
||||
[a=1, b=test, c=[1, 2, 3]]
|
||||
[a=1, b=test, c=[2, 3, 4]]
|
35
testing/btest/core/leaks/incr-vec-expr.test
Normal file
35
testing/btest/core/leaks/incr-vec-expr.test
Normal file
|
@ -0,0 +1,35 @@
|
|||
# Needs perftools support.
|
||||
#
|
||||
# @TEST-REQUIRES: bro --help 2>&1 | grep -q mem-leaks
|
||||
#
|
||||
# @TEST-GROUP: leaks
|
||||
#
|
||||
# @TEST-EXEC: HEAP_CHECK_DUMP_DIRECTORY=. HEAPCHECK=local bro -b -m -r $TRACES/chksums/ip4-udp-good-chksum.pcap %INPUT
|
||||
|
||||
type rec: record {
|
||||
a: count;
|
||||
b: string;
|
||||
c: vector of count;
|
||||
};
|
||||
|
||||
global vec: vector of count = vector(0,0,0);
|
||||
|
||||
global v: rec = [$a=0, $b="test", $c=vector(1,2,3)];
|
||||
|
||||
event new_connection(c: connection)
|
||||
{
|
||||
print vec;
|
||||
print v;
|
||||
|
||||
++vec;
|
||||
|
||||
print vec;
|
||||
|
||||
++v$a;
|
||||
|
||||
print v;
|
||||
|
||||
++v$c;
|
||||
|
||||
print v;
|
||||
}
|
27
testing/btest/language/incr-vec-expr.test
Normal file
27
testing/btest/language/incr-vec-expr.test
Normal file
|
@ -0,0 +1,27 @@
|
|||
# @TEST-EXEC: bro -b %INPUT >out
|
||||
# @TEST-EXEC: btest-diff out
|
||||
|
||||
type rec: record {
|
||||
a: count;
|
||||
b: string;
|
||||
c: vector of count;
|
||||
};
|
||||
|
||||
global vec: vector of count = vector(0,0,0);
|
||||
|
||||
global v: rec = [$a=0, $b="test", $c=vector(1,2,3)];
|
||||
|
||||
print vec;
|
||||
print v;
|
||||
|
||||
++vec;
|
||||
|
||||
print vec;
|
||||
|
||||
++v$a;
|
||||
|
||||
print v;
|
||||
|
||||
++v$c;
|
||||
|
||||
print v;
|
Loading…
Add table
Add a link
Reference in a new issue