Eric Pouech <eric.pouech(a)wanadoo.fr> writes:
+ if (actctx->num_assemblies == actctx->allocated_assemblies) + { + if (actctx->allocated_assemblies) + { + actctx->allocated_assemblies *= 2; + actctx->assemblies = HeapReAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, + actctx->assemblies, + actctx->allocated_assemblies * sizeof(struct assembly)); + } + else + { + actctx->allocated_assemblies = 1; + actctx->assemblies = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(struct assembly)); + } + } + if (!actctx->assemblies) return NULL;
You will corrupt the previous state if the realloc fails. This is kernel stuff, please try to be rigorous about error handling. -- Alexandre Julliard julliard(a)winehq.org