Ignore:
Timestamp:
Jul 28, 2003, 5:10:07 PM (22 years ago)
Author:
mjs
Message:

Reviewed by Richard.

  • fixed 3240814 - LEAK: 120 byte leak in JavaScript parser in Sherlock Movies channel
  • kjs/internal.cpp: (Parser::parse): ref() and deref() the program node, to make sure to clean up properly, before deleting it. (InterpreterImp::checkSyntax): Likewise.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/kjs/internal.cpp

    r4612 r4724  
    456456    if (errMsg)
    457457      *errMsg = "Parse error at line " + UString::from(eline);
    458     delete prog;
     458    if (prog) {
     459      // must ref and deref to clean up properly
     460      prog->ref();
     461      prog->deref();
     462      delete prog;
     463    }
    459464    return 0;
    460465  }
     
    726731  ProgramNode *progNode = Parser::parse(code.data(),code.size(),0,0,0);
    727732  bool ok = (progNode != 0);
    728   delete progNode;
     733  if (progNode) {
     734    // must ref and deref to clean up properly
     735    progNode->ref();
     736    progNode->deref();
     737    delete progNode;
     738  }
    729739  return ok;
    730740}
Note: See TracChangeset for help on using the changeset viewer.