Opened 14 years ago

Closed 14 years ago

#31 closed defect (fixed)

DosQueryModuleHandleStrict() loops forever and drains stack

Reported by: dmik Owned by:
Priority: blocker Milestone: odinized java
Component: odin Version:
Severity: Keywords:
Cc:

Description

Due to bugs in the DosQuerySysState API, the returned buffer seems to contain circular references under some (quite random) conditions. This makes the walkModules() worker (used by DosQueryModuleHandleStrict()) recurse into itself until it eats up all the stack.

From the user perspective, this looks like an application giving 100% CPU load for some tens seconds and then crashing with SYS1808.

Change History (2)

comment:1 by dmik, 14 years ago

Note that the issue usually goes away on its own after starting several other applications to cause the list of DLLs loaded into memory to change (which seems to eventually break the circuit).

comment:2 by dmik, 14 years ago

Resolution: fixed
Status: newclosed

Fixed in r21579. Turned out to be a tiny typo (lost break statement), not yet another DQSS bug. Which is even better.

Note: See TracTickets for help on using tickets.