Skip to content
Snippets Groups Projects
  1. Nov 12, 2022
  2. Nov 11, 2022
    • Rob Swindell's avatar
    • Rob Swindell's avatar
      iniRemoveKey() will now remove all keys matching teh passed key name · a66f9c6e
      Rob Swindell authored
      There shouldn't be multiple keys with the same name in a section, but if there
      were, a call to iniRemoveKey() would would only remove the *first* key with
      that name. So loop until all the keys with the matching name are removed and
      return true only if they were all successfully removed from the specified
      section.
      
      This resolved an observed issue with sbbsctrl-windows displaying an error
      dialog "Failure writing initialization file: path/to/sbbs.ini" when there
      were multiple *Sound keys in a section and the first such key value matched
      that same key in the [Global] section: in this case, we try to remove the
      duplicate key/value from the non-global section, but that removal was
      considered a failure (iniKeyExists returned TRUE) because we only removed
      the *first* key with that name (assuming there would be only one). So we
      would abort the save entirely and display the error dialog.
      a66f9c6e
  3. Nov 10, 2022
  4. Nov 09, 2022
  5. Nov 05, 2022
  6. Oct 29, 2022
  7. Oct 26, 2022
  8. Oct 24, 2022
  9. Oct 23, 2022
  10. Oct 22, 2022
    • Rob Swindell's avatar
      bc1c0802
    • Rob Swindell's avatar
      Fix CID 319174 (Out-of-bounds write) correctly · e2098e8c
      Rob Swindell authored
      This Coverity reported issue was previously resolved (incorrectly) with
      commit d02fc1a2 which also introduced a bug that ate all the unexpected
      cursor position report characters (causing issue #304).
      
      The correct fix was to compare the response length against the buffer size
      minus one, to leave room for the NUL terminator.
      
      While fixing this and issue #304, I noticed that this function was using the
      response length ('rsp') as both the state machine state and string length,
      which didn't work right if a nearly-matching report/response was received:
      the x/y values would have been stripped from the response before stuffing
      in the keyboard input buffer. So a bit of a refactor here using a proper
      state machine variable.
      e2098e8c
  11. Oct 21, 2022
  12. Oct 20, 2022
Loading