Thread overview
[Issue 20778] exception messages with nulls within are treated inconsistently
Mar 24, 2022
Dlang Bot
Apr 01, 2022
Dlang Bot
Apr 04, 2022
kdevel
March 24, 2022
https://issues.dlang.org/show_bug.cgi?id=20778

Dlang Bot <dlang-bot@dlang.rocks> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |pull

--- Comment #1 from Dlang Bot <dlang-bot@dlang.rocks> ---
@MoonlightSentinel updated dlang/druntime pull request #3787 "Fix 20778 - Ensure that _d_print_throwable prints the entire message" fixing this issue:

- Fix 20778 - Ensure that  _d_print_throwable prints the entire message

  The previous implementation simply forwarded the pointer + length to
  `fprintf` and didn't check the return value. This caused the message to
  be truncated for the following cases:

  - it contains `\0` (the bug report)
  - the length is greater than `int.max`

  This commit changes the implementation s.t. it checks the character
  count written to `stderr` (the return value) and prints the remainder
  of the string if necessary.

https://github.com/dlang/druntime/pull/3787

--
March 27, 2022
https://issues.dlang.org/show_bug.cgi?id=20778

moonlightsentinel@disroot.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
                 CC|                            |moonlightsentinel@disroot.o
                   |                            |rg
         Resolution|---                         |FIXED

--
April 01, 2022
https://issues.dlang.org/show_bug.cgi?id=20778

--- Comment #2 from Dlang Bot <dlang-bot@dlang.rocks> ---
dlang/druntime pull request #3793 "merge stable" was merged into master:

- 84e429a7c7c99ebae6e72de2f2be3069266394a5 by MoonlightSentinel:
  Fix 20778 - Ensure that  _d_print_throwable prints the entire message

  The previous implementation simply forwarded the pointer + length to
  `fprintf` and didn't check the return value. This caused the message to
  be truncated for the following cases:

  - it contains `\0` (the bug report)
  - the length is greater than `int.max`

  This commit changes the implementation s.t. it uses `fwrite` instead
  which doesn't stop at `\0` and (theoretically) supports lengths up to
  `size_t.max`

- 13441f120f669571c5941c5cef3196e7fd9d3a95 by Razvan Nitu:
  Merge pull request #3787 from MoonlightSentinel/truncated-exception-message

  Fix 20778 - Ensure that _d_print_throwable prints the entire message

https://github.com/dlang/druntime/pull/3793

--
April 04, 2022
https://issues.dlang.org/show_bug.cgi?id=20778

kdevel <kdevel@vogtner.de> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |kdevel@vogtner.de

--- Comment #3 from kdevel <kdevel@vogtner.de> ---
*** Issue 21480 has been marked as a duplicate of this issue. ***

--