diff --git a/Library/OcAppleKernelLib/PrelinkedInternal.h b/Library/OcAppleKernelLib/PrelinkedInternal.h index d44ba3b9..a4bf4d83 100644 --- a/Library/OcAppleKernelLib/PrelinkedInternal.h +++ b/Library/OcAppleKernelLib/PrelinkedInternal.h @@ -105,8 +105,17 @@ struct PRELINKED_KEXT_ { // Sorted symbol table used only for dependencies. // PRELINKED_KEXT_SYMBOL *LinkedSymbolTable; + // + // A flag set during dependency walk BFS to avoid going through the same path. + // BOOLEAN Processed; + // + // Number of vtables in this kext. + // UINT32 NumberOfVtables; + // + // Scanned vtable buffer. Iterated with GET_NEXT_PRELINKED_VTABLE. + // PRELINKED_VTABLE *LinkedVtables; }; diff --git a/Library/OcAppleKernelLib/PrelinkedKext.c b/Library/OcAppleKernelLib/PrelinkedKext.c index d9087c13..19721c1d 100644 --- a/Library/OcAppleKernelLib/PrelinkedKext.c +++ b/Library/OcAppleKernelLib/PrelinkedKext.c @@ -764,5 +764,9 @@ InternalLinkPrelinkedKext ( *AlignedLoadSize = RealLoadSize; + Kext->SymbolTable = NULL; + Kext->StringTable = NULL; + Kext->NumberOfSymbols = 0; + return Kext; }