mirror of
https://github.com/zeek/zeek.git
synced 2025-10-06 08:38:20 +00:00
Fix malloc/delete mismatch in JSON formatting
ODesc allocated with malloc() and BroString deallocated with delete[], but really the intermediate BroString wasn't even needed when copying into std::string.
This commit is contained in:
parent
8cdcfad6d2
commit
c0d6eb9efb
1 changed files with 2 additions and 10 deletions
12
src/Val.cc
12
src/Val.cc
|
@ -479,11 +479,7 @@ static ZeekJson BuildJSON(Val* val, bool only_loggable=false, RE_Matcher* re=nul
|
||||||
ODesc d;
|
ODesc d;
|
||||||
d.SetStyle(RAW_STYLE);
|
d.SetStyle(RAW_STYLE);
|
||||||
val->Describe(&d);
|
val->Describe(&d);
|
||||||
|
j = string(reinterpret_cast<const char*>(d.Bytes()), d.Len());
|
||||||
auto* bs = new BroString(1, d.TakeBytes(), d.Len());
|
|
||||||
j = string((char*)bs->Bytes(), bs->Len());
|
|
||||||
|
|
||||||
delete bs;
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -495,11 +491,7 @@ static ZeekJson BuildJSON(Val* val, bool only_loggable=false, RE_Matcher* re=nul
|
||||||
ODesc d;
|
ODesc d;
|
||||||
d.SetStyle(RAW_STYLE);
|
d.SetStyle(RAW_STYLE);
|
||||||
val->Describe(&d);
|
val->Describe(&d);
|
||||||
|
j = json_escape_utf8(string(reinterpret_cast<const char*>(d.Bytes()), d.Len()));
|
||||||
auto* bs = new BroString(1, d.TakeBytes(), d.Len());
|
|
||||||
j = json_escape_utf8(string((char*)bs->Bytes(), bs->Len()));
|
|
||||||
|
|
||||||
delete bs;
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue