[Bro-Dev] [JIRA] (BIT-1176) Using an undefined function in a when statement causes a segfault
Johanna Amann (JIRA)
jira at bro-tracker.atlassian.net
Thu Oct 30 10:52:07 PDT 2014
[ https://bro-tracker.atlassian.net/browse/BIT-1176?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Johanna Amann updated BIT-1176:
-------------------------------
Assignee: Robin Sommer
> Using an undefined function in a when statement causes a segfault
> -----------------------------------------------------------------
>
> Key: BIT-1176
> URL: https://bro-tracker.atlassian.net/browse/BIT-1176
> Project: Bro Issue Tracker
> Issue Type: Problem
> Components: Bro
> Affects Versions: git/master
> Reporter: Johanna Amann
> Assignee: Robin Sommer
> Fix For: 2.4
>
> Attachments: crashme.bro
>
>
> Running the following script crashes bro with a null-pointer exception:
> {code:title=crashMe.bro}
> global crashMe: function():string;
> when( local result = crashMe() ) {
> print result;
> }
> {code}
> Backtrace:
> {code}
> * thread #1: tid = 0x226111, 0x000000010022bddf bro`Val::IsZero(this=0x0000000000000000) const + 15 at Val.cc:323, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x30)
> frame #0: 0x000000010022bddf bro`Val::IsZero(this=0x0000000000000000) const + 15 at Val.cc:323
> 320
> 321 int Val::IsZero() const
> 322 {
> -> 323 switch ( type->InternalType() ) {
> 324 case TYPE_INTERNAL_INT: return val.int_val == 0;
> 325 case TYPE_INTERNAL_UNSIGNED: return val.uint_val == 0;
> 326 case TYPE_INTERNAL_DOUBLE: return val.double_val == 0.0;
> (lldb) bt
> * thread #1: tid = 0x226111, 0x000000010022bddf bro`Val::IsZero(this=0x0000000000000000) const + 15 at Val.cc:323, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x30)
> * frame #0: 0x000000010022bddf bro`Val::IsZero(this=0x0000000000000000) const + 15 at Val.cc:323
> frame #1: 0x000000010020b452 bro`Trigger::Eval(this=0x0000000105d45d60) + 578 at Trigger.cc:209
> frame #2: 0x000000010020ae95 bro`Trigger(this=0x0000000105d45d60, arg_cond=0x0000000104a00390, arg_body=0x0000000104a00500, arg_timeout_stmts=0x0000000000000000, arg_timeout=0x0000000000000000, arg_frame=0x00007fff5fbfec80, arg_is_return=false, arg_location=0x00000001049fb7a0) + 1285 at Trigger.cc:140
> frame #3: 0x000000010020a98a bro`Trigger(this=0x0000000105d45d60, arg_cond=0x0000000104a00390, arg_body=0x0000000104a00500, arg_timeout_stmts=0x0000000000000000, arg_timeout=0x0000000000000000, arg_frame=0x00007fff5fbfec80, arg_is_return=false, arg_location=0x00000001049fb7a0) + 106 at Trigger.cc:147
> frame #4: 0x000000010020566f bro`WhenStmt::Exec(this=0x0000000104a00900, f=0x00007fff5fbfec80, flow=0x00007fff5fbfece8) const + 239 at Stmt.cc:2041
> frame #5: 0x0000000100203204 bro`StmtList::Exec(this=0x00000001049fbe80, f=0x00007fff5fbfec80, flow=0x00007fff5fbfece8) const + 228 at Stmt.cc:1639
> frame #6: 0x000000010003d244 bro`main(argc=2, argv=0x00007fff5fbffa40) + 15476 at main.cc:1116
> {code}
--
This message was sent by Atlassian JIRA
(v6.4-OD-07-004#64005)
More information about the bro-dev
mailing list