Hello,

There's a way to 'crash' any ROM...

        1. With any player enter the command -> Alias ' ' "
        2. Quit

                ROM executes in fwrite_char:

                fprintf(fp,"Alias %s %s~\n",
                        ch->pcdata->alias[pos],
                                ch->pcdata->alias_sub[pos]);

                and writes to disk the line -> Alias "~
 
        3. Enter again....

                ROM executes in fread_char

        ch->pcdata->alias[count]        = str_dup(fread_word(fp));
                ch->pcdata->alias_sub[count]    =
str_dup(fread_word(fp));

                The second fread_word fails with the "Fread_word: word
too long" 
                and exits.

        4. ROM is down.

One way to correct this is to add in the one_argument function the next
lines:

    if ( *argument == '\'' || *argument == '"' )
        cEnd = *argument++;

+   while ( isspace(*argument) )
+       argument++;

    while ( *argument != '\0' )
    {

PS: Sorry if that was already posted.




Reply via email to