From: Akihiko Odaki <akihiko.od...@gmail.com> [-NSPasteboard dataForType:] returns an autoreleased NSString, and callings its release method will result in double-free when the global autorelease pool is released. Use NSAutoreleasePool to release it properly.
Signed-off-by: Akihiko Odaki <akihiko.od...@gmail.com> Reviewed-by: Peter Maydell <peter.mayd...@linaro.org> Message-Id: <20220614212131.94696-1-akihiko.od...@gmail.com> Signed-off-by: Gerd Hoffmann <kra...@redhat.com> --- ui/cocoa.m | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ui/cocoa.m b/ui/cocoa.m index 84c84e98fc5e..6a4dccff7f02 100644 --- a/ui/cocoa.m +++ b/ui/cocoa.m @@ -1894,16 +1894,18 @@ static void cocoa_clipboard_notify(Notifier *notifier, void *data) static void cocoa_clipboard_request(QemuClipboardInfo *info, QemuClipboardType type) { + NSAutoreleasePool *pool; NSData *text; switch (type) { case QEMU_CLIPBOARD_TYPE_TEXT: + pool = [[NSAutoreleasePool alloc] init]; text = [[NSPasteboard generalPasteboard] dataForType:NSPasteboardTypeString]; if (text) { qemu_clipboard_set_data(&cbpeer, info, type, [text length], [text bytes], true); - [text release]; } + [pool release]; break; default: break; -- 2.36.1