Luis Pedro Passos Carvalho wrote: > The dynamic memory you allocate is stored in a linked list, as well as your > freed memory. In the beginning of each malloc'ed block there is an header, > that indicates the size of the block, and the next block in the list. > When you free a block, it runs through the list and updates it in order to > reflect the change. > > In order for the implementation of free and malloc to be fast, no error checking > is done, so it usually considers that the header is imediatey before the place > you indicate. Hummmm.... Does anyone have any ideas what I can do considering I am runningthe mud on Linux as well as developing on a Linux box ? I've tried the electric fence debugging library, but that doesn't detect any errors, which I was expecting if there are some routines, who are writing over their allocated address space. I'm currently in the stage of downloading a source version of libc (5.4.38) and compile this with debugging information in it. (This also included installing a bunch of new stuff like gcc etc, etc. *grin*). Anyway, would it be possible and/or a good idea making some sort of wrapper for all the 'writes' into memory ? I guess doing that with the code I'm currently using would really hog up CPU time *snicker* Not to mention making it take a century to boot up the mud. But, I'm desperately in need of a good way to find and bugfix such problems like this (also in the future). In the case of writing a wrapper, what functions would I need to make a wrapper for, and where would I find the information on the structures (the header size) for the malloc() function, so I can also test for occurances, that overwrite those parts of the memory... ? > I hope I made myself understandable, and not a raving lunatic. Perfectly. In fact this made me realize, that I also need to find a way to detect ifwrites to the memory are corrupting allocated memory, or their 'confuguration structures' that malloc uses. Now all that's left is the solution to this problem *g* So, if anyone has some insight on this, I'd really love to hear from you. If there's some sort of mailinglist or newsgroup that you know of, that I would benefit of subscribing to, that'd also be good. Regards, Rasmus +------------------------------------------------------------+ | Ensure that you have read the CircleMUD Mailing List FAQ: | | http://democracy.queensu.ca/~fletcher/Circle/list-faq.html | +------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/08/00 PST