X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Kernel%2Fheap.c;h=682391877870d19d9e6b059139180bd16cc8697c;hb=72fcc8d0873e91f713be3d23af32a4e83f40cdf5;hp=90b7256ef4d411e7b50fbb9a3e15200b0b2f7ae0;hpb=1772867b77bef2030de97f82c1f0daa8c93003d9;p=tpg%2Facess2.git diff --git a/Kernel/heap.c b/Kernel/heap.c index 90b7256e..68239187 100644 --- a/Kernel/heap.c +++ b/Kernel/heap.c @@ -359,6 +359,23 @@ void *realloc(void *__ptr, size_t __size) return NULL; } +/** + * \fn int IsHeap(void *Ptr) + * \brief Checks if an address is a heap address + */ +int IsHeap(void *Ptr) +{ + tHeapHead *head; + if((Uint)Ptr < (Uint)gHeapStart) return 0; + if((Uint)Ptr > (Uint)gHeapEnd) return 0; + + head = (void*)( (Uint)Ptr - sizeof(tHeapHead) ); + if(head->Magic != MAGIC_USED && head->Magic != MAGIC_FREE) + return 0; + + return 1; +} + #if WARNINGS void Heap_Dump() {