one_argument() does not handle a NULL string correctly. char *one_argument(char *argument, char *first_arg) { char *begin = first_arg; do { skip_spaces(&argument); <- bombs here Here is a small patch to fix this: diff -upPr -x *.o ../stk/interpreter.c ./interpreter.c --- ../stk/interpreter.c Fri Apr 12 23:39:21 1996 +++ ./interpreter.c Fri Oct 17 19:36:35 1997 @@ -903,6 +903,12 @@ char *one_argument(char *argument, char { char *begin = first_arg; + if (!argument) { + log("SYSERR: one_argument received a NULL pointer."); + *first_arg = '\0'; + return NULL; + } + do { skip_spaces(&argument); Though you shouldn't be giving it a NULL string in the first place... :) Other new patches: 2. Writable Strings Patch - stock? (45,355 bytes) 3. Road Sector Patch - Stock? (923 bytes) 4. csh ! Stock Patch - how Jeremy wants it. (2,964 bytes) 5. Sector Stock Patch - Informative (904 bytes) 6. dummy_mob Stock Patch - TODO done. (658 bytes) -- George Greer - Me@Null.net | Genius may have its limitations, but stupidity http://www.van.ml.org/~greerga | is not thus handicapped. -- Elbert Hubbard +------------------------------------------------------------+ | 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