OLC with circle2.0 bug

From: Kras Kresh (kras_kresh@hotmail.com)
Date: 09/26/01


As there are no updated patches for OasisOLC anymore, I've found a bug that
can crash the mud that came with a OasisOLC patch.
Also I have the improved-editor installed.
in modify.c function string_add() we have

    case STRINGADD_SAVE:
      if (d->str && *d->str && **d->str == '\0') {
        free(*d->str);
        *d->str = str_dup("Nothing.\r\n");
      }
      if (d->backstr)
        free(d->backstr);
      d->backstr = NULL;
      break;

for me it can never go through the first if statement

to test the crash i did this:
in redit mode clear the 2) description and then save
it became a (null) and would crash the mud if room is saved
also when doing a description for a player it would come here too
i made a change to this and had

    case STRINGADD_SAVE:
      if (d->str && *d->str == '\0') {  //&& **d->str == '\0') {
//        free(*d->str);
        *d->str = str_dup("Nothing.\r\n");
      }
      if (d->backstr)
        free(d->backstr);
      d->backstr = NULL;
      break;

this seems to be working fine
but can someone tell me if this will lead to a crash?

_________________________________________________________________
Get your FREE download of MSN Explorer at http://explorer.msn.com/intl.asp

--
   +---------------------------------------------------------------+
   | FAQ: http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html |
   | Archives: http://post.queensu.ca/listserv/wwwarch/circle.html |
   +---------------------------------------------------------------+



This archive was generated by hypermail 2b30 : 12/06/01 PST