Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 1e08ec6a9a5b074387e9ce3898d0f139e42cd336
      
https://github.com/WebKit/WebKit/commit/1e08ec6a9a5b074387e9ce3898d0f139e42cd336
  Author: Fujii Hironori <[email protected]>
  Date:   2026-03-13 (Fri, 13 Mar 2026)

  Changed paths:
    M Tools/WebKitTestRunner/TestController.cpp
    M Tools/WebKitTestRunner/TestController.h
    M Tools/WebKitTestRunner/gtk/EventSenderProxyGtk.cpp
    M Tools/WebKitTestRunner/libwpe/EventSenderProxyLibWPE.cpp
    M Tools/WebKitTestRunner/win/EventSenderProxyWin.cpp

  Log Message:
  -----------
  stack-use-after-return in WTR::runPendingEventsCallback(void*)
https://bugs.webkit.org/show_bug.cgi?id=309648

Reviewed by Anne van Kesteren.

ASan detected stack-use-after-return in WTR::runPendingEventsCallback(). If
runUntil() timed out, the local variable `done` is written after the function
returned.

EventSenderProxy class event dispatching methods mouseDown() and keyDown(), etc
shouldn't block until the event was processed. Mac port uses
_doAfterProcessingAllPendingMouseEvents and
_doAfterProcessingAllPendingKeyEvents.

Added 2 new methods doAfterProcessingAllPendingMouseEvents() and
doAfterProcessingAllPendingKeyEvents() to TestController class.

* Tools/WebKitTestRunner/TestController.cpp:
* Tools/WebKitTestRunner/TestController.h:
* Tools/WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:
(WTR::EventSenderProxy::keyDown):
(WTR::EventSenderProxy::mouseDown):
(WTR::EventSenderProxy::mouseUp):
(WTR::EventSenderProxy::mouseMoveTo):
(WTR::runPendingEventsCallback): Deleted.
(WTR::waitForPendingKeyEvents):
(WTR::waitForPendingMouseEvents):
* Tools/WebKitTestRunner/libwpe/EventSenderProxyLibWPE.cpp:
(WTR::EventSenderProxy::mouseDown):
(WTR::EventSenderProxy::mouseUp):
(WTR::EventSenderProxy::mouseMoveTo):
(WTR::EventSenderProxy::keyDown):
(WTR::runPendingEventsCallback): Deleted.
(WTR::waitForPendingKeyEvents):
(WTR::waitForPendingMouseEvents):
* Tools/WebKitTestRunner/win/EventSenderProxyWin.cpp:
(WTR::EventSenderProxy::mouseDown):
(WTR::EventSenderProxy::mouseUp):
(WTR::EventSenderProxy::mouseMoveTo):
(WTR::EventSenderProxy::keyDown):
(WTR::runPendingEventsCallback): Deleted.
(WTR::waitForPendingKeyEvents):
(WTR::waitForPendingMouseEvents):

Canonical link: https://commits.webkit.org/309204@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to