More Circle 3.0 bugs

From: Death Gate (dg@who.pc.cc.cmu.edu)
Date: 02/26/95


After thinking about the bug in do_users and do_who, i realized that there
probably were similar problems elsewhere.  I spent some time looking through
the code and found several other related problems.  In all of the following
cases, the variable is too short for the maximum size string that might
be copied into it, and could result in a crash or hang as the rest of the
stack is overwriten.  I'm sure there are others about.


act.wizard.c
  do_advance()
    name and level should be increased from 100 to MAX_INPUT_LENGTH

  do_show()
    field and value should be increased from 40 to MAX_INPUT_LENGTH

act.offensive.c
  do_order()
    name should be increased from 100 to MAX_INPUT_LENGTH.
    buf should be increased, changing it from 256 to (at least)
      MAX_INPUT_LENGTH + 45

act.other.c
  do_steal()
    vict_name and obj_name should be increased from 240 to MAX_INPUT_LENGTH

ban.c
  do_unban()
    site should be increased from 80 to MAX_INPUT_LENGTH

modify.c
  do_skillset
    name and buf should be increased from 100 to MAX_INPUT_LENGTH

shop.c
  shopping_sell()
    name should be increased from 200 to MAX_INPUT_LENGTH

  shopping_list()
    name should be increased from 200 to MAX_INPUT_LENGTH

utils.c
  mudlog()
    buf should be increased from 256 to some number greater than
      MAX_INPUT_LENGTH.  This number has to be maximum size of a string
      sent to the log (most i've seen is MAX_INPUT_LENGTH + ~45) plus
      8 for the extra characters added on in the mudlog function.
      Assuming i did find the maximums, MAX_INPUT_LENGTH + 100 should be
      enough.



Eric Green
ejg3@cornell.edu



This archive was generated by hypermail 2b30 : 12/07/00 PST