X-Git-Url: http://git.jankratochvil.net/?a=blobdiff_plain;f=src%2Flibcaptive%2Fob%2Fhandle.c;h=3dc7db06ed299e258d5d64f54cdf9fb140b7f03c;hb=a2dd38f86df22c46ae18f3ad7d9850eaacb02b92;hp=e8de9ca0b155804bd6d43bf1b9525bb8b8a0d98e;hpb=237ff922e50bc3e8cba986ba314cea352ae99747;p=captive.git diff --git a/src/libcaptive/ob/handle.c b/src/libcaptive/ob/handle.c index e8de9ca..3dc7db0 100644 --- a/src/libcaptive/ob/handle.c +++ b/src/libcaptive/ob/handle.c @@ -25,6 +25,10 @@ #include +/* libcaptive/ps/create.c: */ +extern const guint8 PsCreateSystemThread_bogusthread; + + /** * ZwClose: * @Handle: Handle from some Zw*() create function. @@ -39,5 +43,11 @@ NTSTATUS ZwClose(HANDLE Handle) { g_return_val_if_fail(Handle!=NULL,STATUS_INVALID_HANDLE); + /* FIXME: libcaptive does not yet create the threads (thread objects) + * but ntfs.sys will ZwClose() immediately after its PsCreateSystemThread(). + */ + if (Handle==(HANDLE)&PsCreateSystemThread_bogusthread) + return STATUS_SUCCESS; + return NtClose(Handle); }