|
|
1.1 ! root 1: /* ! 2: * memok.c ! 3: * Test for corruption of malloc arena. ! 4: */ ! 5: ! 6: #include <stdio.h> ! 7: #include <sys/malloc.h> ! 8: ! 9: /* ! 10: * memok() returns 1 if memory is ok, ! 11: * 0 if it is corrupted. ! 12: */ ! 13: int ! 14: memok() ! 15: { ! 16: register MBLOCK *mp; ! 17: unsigned counter, flag, len; ! 18: ! 19: if (NULL == (mp = __a_first)) ! 20: return ((NULL == __a_scanp) && !__a_count); ! 21: flag = 0; ! 22: for (counter = __a_count; counter--; ) { ! 23: if (mp == __a_scanp) ! 24: flag++; ! 25: mp = (len = realsize(mp->blksize)) ? bumpp(mp, len) : mp->uval.next; ! 26: } ! 27: return ((1 == flag) && (mp == __a_first)); ! 28: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.