Re: [Newbie] Overflow?

From: Patrick Dughi (dughi@imaxx.net)
Date: 10/10/00


> I've just put in a while loop in hit() in fight.c, which is causing
> my mud to crash. With a loop of greater than 50 repeats it results in
> an OVERFLOW warning sent to the player in place of combat text and also
> crash, with over 30 repeats it simply crashes, and with over 10 (possibly
> 20) it crashes after a period of reuse.
>
> The loop calls simple_hit() - a clone of hit() - from within hit().
> The loop is enabled by an AFF_xxx flag.
> OS is Win98, Compiler BCC 5.5.

        Well, if I remember right, hit assumes that the character is still
alive - among other things.  The more likely the character is to be dead
at somepoint internal to the loop, the more likely the loop is to
attempt to act upon an already dead (and memory extracted) victim.  Access
data in an extracted character, and the mud crashes.  Eventually.

        As for the overflow, that's because you're trying to output too
much data - at least, larger than MAX_STRING_LENGTH.  Why the heck would
you want to spam someone with that amount anyway?

> PS: Are my lines wrapping too late?
>
        Linewrap looks good.

                                                PjD


     +------------------------------------------------------------+
     | Ensure that you have read the CircleMUD Mailing List FAQ:  |
     |  http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html  |
     +------------------------------------------------------------+



This archive was generated by hypermail 2b30 : 04/10/01 PDT