Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-55254

nullptr dereference via QWebEngineView::setHtml() in QtWebEngineCore::UserScriptControllerHost::WebContentsObserverHelper::RenderViewHostChanged()

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P1: Critical
    • 5.6.2
    • 5.6.1
    • WebEngine
    • None
    • Hardened Gentoo Linux x86_64, gcc (Gentoo Hardened 5.4.0 p1.0, pie-0.6.5) 5.4.0
    • 527af790d460f0ec486fdbb667a36164a829761e

    Description

      QtWebEngineCore::UserScriptControllerHost::WebContentsObserverHelper::RenderViewHostChanged() dereferences its first argument (oldHost) at the start of the function, but oldHost appears to be a nullptr, leading to a null pointer dereference and crash.

      The relevant part of the backtrace is as follows. I think oldHost is explicitly set to nullptr in frame 2:

      #0 QtWebEngineCore::UserScriptControllerHost::WebContentsObserverHelper::RenderViewHostChanged (this=0x2aaacd5c710, oldHost=0x0, newHost=0x2aaacd49790) at /var/tmp/portage/dev-qt/qtwebengine-5.6.1/work/qtwebengine-opensource-src-5.6.1/src/core/user_script_controller_host.cpp:81
      #1 0x000003fff425d577 in content::WebContentsImpl::NotifyViewSwapped (this=0x2aaacd45ba0, old_host=0x0, new_host=0x2aaacd49790) at /var/tmp/portage/dev-qt/qtwebengine-5.6.1/work/qtwebengine-opensource-src-5.6.1/src/3rdparty/chromium/content/browser/web_contents/web_contents_impl.cc:3510
      #2 0x000003fff41677b1 in content::RenderFrameHostManager::Navigate (this=this@entry=0x2aaacd46840, dest_url=..., frame_entry=..., entry=...) at /var/tmp/portage/dev-qt/qtwebengine-5.6.1/work/qtwebengine-opensource-src-5.6.1/src/3rdparty/chromium/content/browser/frame_host/render_frame_host_manager.cc:301
      #3 0x000003fff4345957 in content::NavigatorImpl::NavigateToEntry (this=0x2aaac6dd0b0, frame_tree_node=<optimized out>, frame_entry=..., entry=..., reload_type=<optimized out>, is_same_document_history_load=<optimized out>) at /var/tmp/portage/dev-qt/qtwebengine-5.6.1/work/qtwebengine-opensource-src-5.6.1/src/3rdparty/chromium/content/browser/frame_host/navigator_impl.cc:281
      #4 0x000003fff414c4e5 in content::NavigationControllerImpl::NavigateToPendingEntryInternal (this=this@entry=0x2aaacd45c30, reload_type=reload_type@entry=content::NavigationController::NO_RELOAD) at /var/tmp/portage/dev-qt/qtwebengine-5.6.1/work/qtwebengine-opensource-src-5.6.1/src/3rdparty/chromium/content/browser/frame_host/navigation_controller_impl.cc:1762
      #5 0x000003fff414c722 in content::NavigationControllerImpl::NavigateToPendingEntry (this=this@entry=0x2aaacd45c30, reload_type=reload_type@entry=content::NavigationController::NO_RELOAD) at /var/tmp/portage/dev-qt/qtwebengine-5.6.1/work/qtwebengine-opensource-src-5.6.1/src/3rdparty/chromium/content/browser/frame_host/navigation_controller_impl.cc:1728
      #6 0x000003fff414ccf6 in content::NavigationControllerImpl::LoadEntry (this=this@entry=0x2aaacd45c30, entry=...) at /var/tmp/portage/dev-qt/qtwebengine-5.6.1/work/qtwebengine-opensource-src-5.6.1/src/3rdparty/chromium/content/browser/frame_host/navigation_controller_impl.cc:429
      #7 0x000003fff414cfc9 in content::NavigationControllerImpl::LoadURLWithParams (this=0x2aaacd45c30, params=...) at /var/tmp/portage/dev-qt/qtwebengine-5.6.1/work/qtwebengine-opensource-src-5.6.1/src/3rdparty/chromium/content/browser/frame_host/navigation_controller_impl.cc:803
      #8 0x000003fff36faff7 in QtWebEngineCore::WebContentsAdapter::setContent (this=<optimized out>, data=..., mimeType=..., baseUrl=...) at /var/tmp/portage/dev-qt/qtwebengine-5.6.1/work/qtwebengine-opensource-src-5.6.1/src/core/web_contents_adapter.cpp:489
      #9 0x000003fff7f8eb04 in QWebEnginePage::setContent (this=this@entry=0x2aaac6dce70, data=..., mimeType=..., baseUrl=...) at api/qwebenginepage.cpp:1234
      #10 0x000003fff7f8eb64 in QWebEnginePage::setHtml (this=0x2aaac6dce70, html=..., baseUrl=...) at api/qwebenginepage.cpp:1228
      #11 0x000003fff7f9b824 in QWebEngineView::setHtml (this=<optimized out>, html=..., baseUrl=...) at api/qwebengineview.cpp:163

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            viengelm Viktor Engelmann
            jotik Jaak Ristioja
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes