mirror of
https://github.com/zeek/zeek.git
synced 2025-10-06 16:48:19 +00:00
Table lookups return copy of non-const &default vals (addresses #981).
This prevents unintentional modifications to the &default value itself.
This commit is contained in:
parent
8992dc6cff
commit
6a7a242db9
3 changed files with 32 additions and 1 deletions
|
@ -1749,7 +1749,7 @@ Val* TableVal::Default(Val* index)
|
|||
|
||||
if ( def_val->Type()->Tag() != TYPE_FUNC ||
|
||||
same_type(def_val->Type(), Type()->YieldType()) )
|
||||
return def_val->Ref();
|
||||
return def_attr->AttrExpr()->IsConst() ? def_val->Ref() : def_val->Clone();
|
||||
|
||||
const Func* f = def_val->AsFunc();
|
||||
val_list* vl = new val_list();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue