Open
Bug 1247969
Opened 9 years ago
Updated 2 years ago
Consolidate Windows API Interception Initialization to a safe time during startup
Categories
(Core :: DLL Services, defect)
Tracking
()
NEW
Tracking | Status | |
---|---|---|
firefox47 | --- | affected |
People
(Reporter: bugzilla, Unassigned)
References
Details
While we typically only call AddHook() for a particular function once, the caller may be initializing lazily. Between the fact that sometimes we can't safely do Nop space patching (see bug 1218473) and the fact that there may be other unintended consequences, we should move as much of this stuff as possible to a safe point during startup.
Note that during startup we might not yet have access to the DLL that we want to patch, so we need to be smart about that as well. AddHook loads DLLs if they're not present yet, but during startup we need to be careful about adversely affecting startup time or loading a DLL too early (we need to have the DLL blocklist hooked *before* loading user32.dll, for example).
Reporter | ||
Comment 1•9 years ago
|
||
I've got a WIP that runs as long as I have a patch for bug 1249849 in the queue.
Status: NEW → ASSIGNED
Depends on: 1249849
Reporter | ||
Comment 2•3 years ago
|
||
If anybody is interested in taking this up again, my idea was that, unlike pretty much everything else in Gecko, static initializers are the perfect place to initiate interceptor hooks. The gist of the idea is that every hook would be a static object declared at the top of the each source file.
Assignee: bugzilla → nobody
Status: ASSIGNED → NEW
Component: General → DLL Services
Updated•2 years ago
|
Severity: normal → S3
You need to log in
before you can comment on or make changes to this bug.
Description
•