[BUG] Using '%' on wiznet

From: Ronald Evers (dlanor@xs4all.nl)
Date: 09/18/02


Any of you tried using the '%' character on wiznet? With some practice
you can crash a stock pl21 mud in a matter of seconds ;-)

The problem is in act.wizard.c:do_wiznet:

------------------------------------------------------------------------
--
  for (d = descriptor_list; d; d = d->next) {
    if ((STATE(d) == CON_PLAYING) && (GET_LEVEL(d->character) >= level)
&&
      (!PRF_FLAGGED(d->character, PRF_NOWIZ)) &&
      (!PLR_FLAGGED(d->character, PLR_WRITING | PLR_MAILING))
      && (d != ch->desc || !(PRF_FLAGGED(d->character, PRF_NOREPEAT))))
{
      send_to_char(d->character, CCCYN(d->character, C_NRM));
      if (CAN_SEE(d->character, ch))
-     send_to_char(d->character, buf1);
+     send_to_char(d->character, "%s", buf1);
      else
-     send_to_char(d->character, buf2);
+     send_to_char(d->character, "%s", buf2);
      send_to_char(d->character, CCNRM(d->character, C_NRM));
    }
  }
------------------------------------------------------------------------
--

When buf1 contains a '%' character, the stock version messes things up
due
to sprintf issues. The new version fixes this. Hope this helps someone
:)

-Ronald

--
   +---------------------------------------------------------------+
   | FAQ: http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html |
   | Archives: http://post.queensu.ca/listserv/wwwarch/circle.html |
   | Newbie List:  http://groups.yahoo.com/group/circle-newbies/   |
   +---------------------------------------------------------------+



This archive was generated by hypermail 2b30 : 06/25/03 PDT