Skip to content
Snippets Groups Projects
  1. Aug 08, 2024
    • Rob Swindell's avatar
      Fix CID 508260: Null pointer dereference · 8fc08f0d
      Rob Swindell authored
      And really, more importantly, the msg header field_list array length would
      always be interpretted as 0-length!
      
      ... introduced in commit 54523145
      8fc08f0d
    • Rob Swindell's avatar
      Fix CID 508259: Control flow issue (DEADCODE) · c8a83171
      Rob Swindell authored
      ... introduced in commit 54523145
      c8a83171
    • Rob Swindell's avatar
      Display usage help when unrecognized param is detected · 54277dec
      Rob Swindell authored
      Include -pause and -loop options in usage help output.
      
      Don't delay (sleep) one second when looping and -pause option is used.
      
      Flush the output before waiting for key-press (-pause option is used).
      
      This should all address issue #365. Sorry for the long wait.
      54277dec
    • Rob Swindell's avatar
      Don't display menu of file xfer prots when auto-selecting user's default prot · 64a6ab9d
      Rob Swindell authored
      When a user has a "default download protocol" selected (configured for their
      user account), don't display a menu of file transfer protocols when we're
      just going to auto-select their default anyway (e.g. when downloading a QWK
      packet).
      
      This change also introduces an argument (%s, the protocol name) in the
      StartXferNow text.dat string, so that if/when the user forgets which default
      download transfer protocol they had selected, they'll be reminded ("oh yeah,
      I need start an XMODEM download!").
      
      This fixes issue #767
      64a6ab9d
    • Rob Swindell's avatar
      Prevent NULL pointer dereference when 'null' object passed to JS functions · 54523145
      Rob Swindell authored
      As was discovered as part of investigation into issue #769, a JavaScript
      could crash SBBS (cause a segfault) due to a NULL pointer dereference when
      the script passes 'null' to native JS functions where an object is expected.
      
      The issue raised was with console.gotoxy(), but it turns out that *many*
      Synchronet native JS functions would call JSVAL_TO_OBJECT() and then, without
      checking for NULL/nullptr, pass its return value to JS api functions such as
      JS_GetPrivate, JS_GetProperty, JS_GetClass, JS_ObjectIsFunction,
      JS_IsArrayObject, JS_GetArrayLength, JS_DefineProperty, JS_Enumerate, etc.
      All of these JS API functions dereference the passed object pointer without
      NULL/nullptr checking.
      
      The fix here is to either call JSVAL_IS_NULL() or JSVAL_NULL_OR_VOID() and
      if true, not call JSVAL_TO_OBJECT() and/or check the return value for the NULL
      value before using as an argument to any other JS API functions.
      54523145
  2. Aug 07, 2024
  3. Aug 04, 2024
  4. Jul 12, 2024
  5. Jul 11, 2024
  6. Jun 21, 2024
    • Rob Swindell's avatar
      Fix new small memory leak (no need to use strdup here) · 726a0852
      Rob Swindell authored
      Fix CID 497098
      726a0852
    • Rob Swindell's avatar
      Fix getnodedat() error handling and usage · e7642321
      Rob Swindell authored
      If a file descriptor is passed to getnodedat() and the lock retry counter was
      reached, the file would be closed, but the passed file descriptor reference
      would not be set to -1. This could result in exceptions (from subsequent read
      attempts on the referenced file descriptor) in cases where the node.dab could
      not be locked or read by getnodedat() and was thus closed.
      
      The set/get_node_* helper functions (used by MQTT) were not initializing the
      node.dab file descriptor (i.e. to -1), so it's possible getnodedat() could
      try to read from and close an invalid/wrong open file descriptor. If the local
      variable happened to be initialized to a value <= 0, then, no problem, but
      this is undefined behavior (UB).
      e7642321
    • Rob Swindell's avatar
      Use the new uifc_t.restore() method when decrementing the save_num · 16525f87
      Rob Swindell authored
      This is the proper way to manually-restore the most recently saved
      window (via the WIN_SAV mode flag to the list() method).
      
      I wanted something that was backward comaptible with earlier builds
      of SBBS, so just doing a magic thing when decrementing the save_num
      rather than adding a new method seemed the seamless way to do it.
      16525f87
    • Rob Swindell's avatar
      Fix small memory leak when loading lib "Auto-Add Subs" feature enabled · 26920170
      Rob Swindell authored
      caught by valgrind
      26920170
  7. Jun 20, 2024
  8. Jun 19, 2024
    • Rob Swindell's avatar
      Use new uifc.list mode flag WIN_BLANKOPTS · 91059084
      Rob Swindell authored
      uifc option lists are always NULL-terminated string lists (not static
      arrays of char arrays, as is often used in other UIFC utils), so grow
      the ability to have blank options (list items).
      
      This was needed for fileman.js to accurately edit extended file
      descriptions that contain blank lines.
      91059084
  9. Jun 18, 2024
  10. Jun 10, 2024
    • Rob Swindell's avatar
      Make legacy/alias properties non-enumerable: computer, modem · 3a029fa8
      Rob Swindell authored
      I noticed these redundant properties were being logged for every logon in
      logon.jsonl. We don't need these properties separately enumerable, and really
      they shouldn't be used anyway.
      
      computer is an alias of host_name
      modem is an alias of connection
      3a029fa8
  11. Jun 09, 2024
  12. Jun 04, 2024
  13. Jun 02, 2024
  14. May 28, 2024
  15. May 26, 2024
Loading