Skip to content

v11.0.509

Choose a tag to compare

@github-actions github-actions released this 21 Aug 01:50
· 115 commits to main since this release
  • Fixed a bug in statements like \fcvtdate(..., -4) where there was no space between the day and the year, producing outputs like Sat Nov 262005 instead of Sat Nov 26 2005.

  • Fixed an out-of-bounds month lookup in shuffledate() for month values outside 1-12, and corrected off-by-one whitespace stripping in date parsing. Added unit tests for these date-handling functions.

  • Fixed an issue where SIGWINCH window-resize signals were not forwarded to child processes after running an external protocol such as Zmodem.

  • Fixed pty cleanup after external protocol execution, preventing a transfer-interrupting Ctrl-C from terminating PTY connections.

  • Fixed a bug in the telnet buffer processing loop that could cause individual or repeated 1-second stalls in certain circumstances

  • Enable SET DEBUG TIMESTAMPS during tests to help pinpoint timeouts and performance problems

  • Save off localtime() results in zdtstr()/zstrdt() to prevent mtime skew when SET DEBUG TIMESTAMPS is ON.

  • Converted tabs to spaces in the source. Inconsistent use of tabs vs. spaces was causing confusion, for humans and also possibly for gcc with -Wmisleading-indentation. This was done using the expand(1) command.

  • Ran with various warning-enable options, cleaning up warnings along the way.

  • Fixed bugs identified during the warning sweep:

    • Corrected operator precedence grouping in \femail().
    • Fixed array indexing with signed char.
    • Fixed uninitialized seek offsets in FILE SEEK.
    • Fixed an uninitialized buffer read during DNS TXT record lookups.
    • Fixed a comment-parsing defect in cmcvtdate().
    • Replaced an unbounded vsprintf() in ckxprintf() with vsnprintf() and added GCC format attributes to printf wrappers.
    • Fixed a potential buffer overflow in UNIX domain socket path handling in ckcnet.c.
    • SET DIAL TIMEOUT reset DIAL ESCAPE-CHARACTER to 43. Also, an unexpected DIAL STRING parameter caused control to pass to DIAL FLOW-CONTROL. These bugs introduced in C-Kermit 6.0.192 of 1996, commit 4b5edde.
    • REPEAT and CD switch value handling could fall into handler for different commands.
    • \funtab() with a parameter over the maximum length would fall into \funhex().
    • FILE SEEK /FIND without an argument corrupted rsize.