A malformed unicode string containing only half of a surrogate pair (either a high or low surrogate without the other half) will cause a native exception in the macOS `NSPasteboardItem setString:forType:` method. This uncaught exception will terminate (crash) the application.
The fix is to validate the string before calling `setString:forType:`. I also added a try / catch that logs a warning, so that if we ever run into other exceptions, they won't be fatal. I added an automated test that fails on macOS without the fix and passes with the fix. The test is run on other platforms as well, and passes both before and after the fix. ------------- Commit messages: - fix whitespace - 8304441: [macos] Crash when putting invalid unicode char on clipboard Changes: https://git.openjdk.org/jfx/pull/1074/files Webrev: https://webrevs.openjdk.org/?repo=jfx&pr=1074&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8304441 Stats: 115 lines in 2 files changed: 113 ins; 0 del; 2 mod Patch: https://git.openjdk.org/jfx/pull/1074.diff Fetch: git fetch https://git.openjdk.org/jfx.git pull/1074/head:pull/1074 PR: https://git.openjdk.org/jfx/pull/1074