Summary: | cross_fuzz crashes konqueror | ||
---|---|---|---|
Product: | [Applications] konqueror | Reporter: | ancow <bugs> |
Component: | khtml | Assignee: | Konqueror Developers <konq-bugs> |
Status: | RESOLVED WAITINGFORINFO | ||
Severity: | crash | CC: | kollix, maninred |
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Ubuntu | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
ancow
2011-01-04 08:54:29 UTC
==1929== Invalid read of size 4 ==1929== at 0xCB1EED2: khtml::DocPtr<DOM::DocumentImpl>::get() const (shared.h:104) ==1929== by 0xCB1D035: DOM::NodeImpl::document() const (dom_nodeimpl.h:288) ==1929== by 0xCBD3083: DOM::NamedAttrMapImpl::setNamedItem(DOM::NodeImpl*, khtml::IDString<khtml::PrefixFactory> const&, bool, int&) (dom_elementimpl.cpp:1496) ==1929== by 0xCBC626A: DOM::NamedNodeMapImpl::setNamedItemNS(DOM::Node const&, int&) (dom_nodeimpl.cpp:2175) ==1929== by 0xCDA562B: DOMNamedNodeMapProtoFunc::callAsFunction(KJS::ExecState*, KJS::JSObject*, KJS::List const&) (kjs_dom.cpp:1637) ==1929== by 0xCDDEFFC: KJS::JSObject::call(KJS::ExecState*, KJS::JSObject*, KJS::List const&) (object.h:626) ==1929== by 0xD326675: KJS::Machine::runBlock(KJS::ExecState*, WTF::Vector<unsigned char, 0u> const&, KJS::ExecState*) (codes.def:1204) ==1929== by 0xD2CBA05: KJS::FunctionBodyNode::execute(KJS::ExecState*) (nodes.cpp:927) ==1929== by 0xD2FD280: KJS::GlobalFuncImp::callAsFunction(KJS::ExecState*, KJS::JSObject*, KJS::List const&) (function.cpp:945) ==1929== by 0xCDDEFFC: KJS::JSObject::call(KJS::ExecState*, KJS::JSObject*, KJS::List const&) (object.h:626) ==1929== by 0xD326675: KJS::Machine::runBlock(KJS::ExecState*, WTF::Vector<unsigned char, 0u> const&, KJS::ExecState*) (codes.def:1204) ==1929== by 0xD2FACE1: KJS::FunctionImp::callAsFunction(KJS::ExecState*, KJS::JSObject*, KJS::List const&) (function.cpp:172) ==1929== by 0xCDDEFFC: KJS::JSObject::call(KJS::ExecState*, KJS::JSObject*, KJS::List const&) (object.h:626) ==1929== by 0xD326675: KJS::Machine::runBlock(KJS::ExecState*, WTF::Vector<unsigned char, 0u> const&, KJS::ExecState*) (codes.def:1204) ==1929== by 0xD2FACE1: KJS::FunctionImp::callAsFunction(KJS::ExecState*, KJS::JSObject*, KJS::List const&) (function.cpp:172) ==1929== by 0xCDDEFFC: KJS::JSObject::call(KJS::ExecState*, KJS::JSObject*, KJS::List const&) (object.h:626) ==1929== by 0xD326675: KJS::Machine::runBlock(KJS::ExecState*, WTF::Vector<unsigned char, 0u> const&, KJS::ExecState*) (codes.def:1204) ==1929== by 0xD2FACE1: KJS::FunctionImp::callAsFunction(KJS::ExecState*, KJS::JSObject*, KJS::List const&) (function.cpp:172) ==1929== by 0xCDDEFFC: KJS::JSObject::call(KJS::ExecState*, KJS::JSObject*, KJS::List const&) (object.h:626) ==1929== by 0xD326675: KJS::Machine::runBlock(KJS::ExecState*, WTF::Vector<unsigned char, 0u> const&, KJS::ExecState*) (codes.def:1204) ==1929== by 0xD2FACE1: KJS::FunctionImp::callAsFunction(KJS::ExecState*, KJS::JSObject*, KJS::List const&) (function.cpp:172) ==1929== by 0xCDDEFFC: KJS::JSObject::call(KJS::ExecState*, KJS::JSObject*, KJS::List const&) (object.h:626) ==1929== by 0xD326675: KJS::Machine::runBlock(KJS::ExecState*, WTF::Vector<unsigned char, 0u> const&, KJS::ExecState*) (codes.def:1204) ==1929== by 0xD2FACE1: KJS::FunctionImp::callAsFunction(KJS::ExecState*, KJS::JSObject*, KJS::List const&) (function.cpp:172) ==1929== by 0xCDDEFFC: KJS::JSObject::call(KJS::ExecState*, KJS::JSObject*, KJS::List const&) (object.h:626) ==1929== by 0xD326675: KJS::Machine::runBlock(KJS::ExecState*, WTF::Vector<unsigned char, 0u> const&, KJS::ExecState*) (codes.def:1204) ==1929== by 0xD2FACE1: KJS::FunctionImp::callAsFunction(KJS::ExecState*, KJS::JSObject*, KJS::List const&) (function.cpp:172) ==1929== by 0xCDDEFFC: KJS::JSObject::call(KJS::ExecState*, KJS::JSObject*, KJS::List const&) (object.h:626) ==1929== by 0xD326675: KJS::Machine::runBlock(KJS::ExecState*, WTF::Vector<unsigned char, 0u> const&, KJS::ExecState*) (codes.def:1204) ==1929== by 0xD2CBA05: KJS::FunctionBodyNode::execute(KJS::ExecState*) (nodes.cpp:927) ==1929== by 0xD3060DB: KJS::Interpreter::evaluate(KJS::UString const&, int, KJS::UChar const*, int, KJS::JSValue*) (interpreter.cpp:564) ==1929== by 0xD305C40: KJS::Interpreter::evaluate(KJS::UString const&, int, KJS::UString const&, KJS::JSValue*) (interpreter.cpp:504) ==1929== by 0xCDE82F8: KJSProxy::evaluate(QString, int, QString const&, DOM::Node const&, KJS::Completion*) (kjs_proxy.cpp:126) ==1929== by 0xCB30638: KHTMLPart::executeScript(DOM::Node const&, QString const&) (khtml_part.cpp:1327) ==1929== by 0xCDDB5B2: KJS::ScheduledAction::execute(KJS::Window*) (kjs_window.cpp:2293) ==1929== by 0xCDDC200: KJS::WindowQObject::timerEvent(QTimerEvent*) (kjs_window.cpp:2458) ==1929== by 0x507B9C3: QObject::event(QEvent*) (qobject.cpp:1175) ==1929== by 0x5379413: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:4445) ==1929== by 0x5382136: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:3845) ==1929== by 0x4A3955D: KApplication::notify(QObject*, QEvent*) (kapplication.cpp:311) ==1929== by 0x50665BD: QCoreApplication::notifyInternal(QObject*, QEvent*) (qcoreapplication.cpp:732) ==1929== by 0x50979A7: QTimerInfoList::activateTimers() (qcoreapplication.h:215) ==1929== by 0x5094631: timerSourceDispatch(_GSource*, int (*)(void*), void*) (qeventdispatcher_glib.cpp:184) ==1929== by 0x6619B48: g_main_context_dispatch (in /usr/lib/libglib-2.0.so.0.2400.1) ==1929== by 0x661A34F: ??? (in /usr/lib/libglib-2.0.so.0.2400.1) ==1929== by 0x661A60D: g_main_context_iteration (in /usr/lib/libglib-2.0.so.0.2400.1) ==1929== by 0x5094D5A: QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (qeventdispatcher_glib.cpp:422) ==1929== by 0x542F9A9: QGuiEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (qguieventdispatcher_glib.cpp:204) ==1929== by 0x506589C: QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (qeventloop.cpp:149) ==1929== by 0x5065AC8: QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (qeventloop.cpp:201) ==1929== Address 0x10 is not stack'd, malloc'd or (recently) free'd *** Bug 262763 has been marked as a duplicate of this bug. *** Git commit 34a28720abd48b5029067af4aaa9bcfbcd6df4e2 by Maks Orlovich. Committed on 06/02/2011 at 16:52. Pushed by orlovich into branch 'master'. Add some missing null pointer checks spotted by crossfuzz CCBUG: 262040 M +1 -1 khtml/ecma/kjs_dom.cpp M +2 -2 khtml/ecma/kjs_range.cpp M +1 -1 khtml/ecma/kjs_traversal.cpp M +5 -0 khtml/xml/dom2_rangeimpl.cpp M +1 -1 khtml/xml/dom_elementimpl.cpp http://commits.kde.org/kdelibs/34a28720abd48b5029067af4aaa9bcfbcd6df4e2 Git commit fefb64c565115a645629eac8a154554314d42677 by Maks Orlovich. Committed on 06/02/2011 at 17:07. Pushed by orlovich into branch 'master'. Don't go through C++ wrappers here, they throw exceptions. CCBUG: 262040 M +15 -6 khtml/ecma/kjs_range.cpp http://commits.kde.org/kdelibs/fefb64c565115a645629eac8a154554314d42677 @Maksim: is this now fixed and can be closed ? |