Bug 196073

Summary: [GLIB] User data not correctly passed to callback of functions and constructors with no parameters
Product: WebKit Reporter: Carlos Garcia Campos <cgarcia>
Component: JavaScriptCoreAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: bugs-noreply, commit-queue, ews-watchlist, keith_miller, mark.lam, mcatanzaro, msaboff, saam, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch none

Carlos Garcia Campos
Reported 2019-03-21 04:03:39 PDT
This is because GClosure always expects a first parameter as instance. In case of functions or constructors with no parameters we insert a fake instance which is just a null pointer that is just ignored by the callback. But if the function/constructor has user data the callback will expect one parameter for the user data. In thta case we can simply swap instance/user data so that the fake instance will be the second argument and user data the first one.
Attachments
Patch (8.21 KB, patch)
2019-03-21 04:07 PDT, Carlos Garcia Campos
no flags
Carlos Garcia Campos
Comment 1 2019-03-21 04:07:07 PDT
WebKit Commit Bot
Comment 2 2019-03-21 07:36:18 PDT
Comment on attachment 365530 [details] Patch Clearing flags on attachment: 365530 Committed r243289: <https://trac.webkit.org/changeset/243289>
WebKit Commit Bot
Comment 3 2019-03-21 07:36:19 PDT
All reviewed patches have been landed. Closing bug.
Radar WebKit Bug Importer
Comment 4 2019-03-21 07:41:12 PDT
Note You need to log in before you can comment on or make changes to this bug.