WKStringCopyCFString(CFAllocatorRef, WKStringRef) calls CFStringCreateWithCharacters() using the result of characters() on the argument string. Instead it should check to see if the string is 8 or 16 bits and then use characters8() with CFStringCreateWithBytes() and characters16() in place of the current characters().
Created attachment 171062 [details] Patch
Comment on attachment 171062 [details] Patch Rejecting attachment 171062 [details] from commit-queue. Failed to run "['/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch', '--status-host=queues.webkit.org', '-..." exit_code: 2 Last 500 characters of output: Auto-merging Source/WebKit2/ChangeLog CONFLICT (content): Merge conflict in Source/WebKit2/ChangeLog Failed to merge in the changes. Patch failed at 0001 Unreviewed gardening. When you have resolved this problem run "git rebase --continue". If you would prefer to skip this patch, instead run "git rebase --skip". To restore the original branch and stop rebasing run "git rebase --abort". rebase refs/remotes/origin/master: command returned error: 1 Died at Tools/Scripts/update-webkit line 154. Full output: http://queues.webkit.org/results/14605667
Committed r132825: <http://trac.webkit.org/changeset/132825>