Skip to content

Latest commit

 

History

History
53 lines (43 loc) · 1.64 KB

TODO.md

File metadata and controls

53 lines (43 loc) · 1.64 KB

URGENT

vm/internal/simul_efun.cc

  • init_simul_efun possible overflow in strcat(buf, ".c") change to strncat!!! search complete source for other occurances

Have Time

documentation

  • complete docs/efun/contrib [packages/contrib]
  • check efun::shadowp/efun::query_shadowing
  • expand docs for efun:implode (missing three arg form)
  • missing docs for efun::defer

packages/contrib/contrib.cc

network_stats

  • make maximum number of ports configurable?
    • if yes look for possible buffer overflows!!!

query_num

  • rework code? uses goto

string_difference

  • rename? there are different kind of string differences...

packages/core/ed.cc

  • missing 'check_valid_path(...)' for write operation with new api.

packages/core/file.cc

  • add support for 'lstat' if available

    • efun::get_dir
    • efun::file_size
    • efun::stat / new efun::lstat ?
  • remove master::valid_link ?

    efun::link internally uses efun::rename with it's inherit security checks against master::valid_write making either double checks or reducing master::valid_link to a simple switch: mudlib generally allows / forbids linking

  • alternative: remove dependency on efun::rename from efun::link and correctly support links within all relevant functions

path handling

  • simplify handling of paths:

    There are dozends of places where paths are brought into some canonical form. Make sure each supplied path, either by mudlib, runtime configuration or generated by the driver itself, IS canonical and work from there...

vm/internal/simulate.cc

  • give_uid_to_object after calling master::creator_file doubled check for !ret.