[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] trunk r114596: * nsfns.m (Fns_convert_utf8_nfd_to_nfc): Ch
From: |
Jan D. |
Subject: |
[Emacs-diffs] trunk r114596: * nsfns.m (Fns_convert_utf8_nfd_to_nfc): Check input for valid UTF-8 |
Date: |
Wed, 09 Oct 2013 18:50:18 +0000 |
User-agent: |
Bazaar (2.6b2) |
------------------------------------------------------------
revno: 114596
revision-id: address@hidden
parent: address@hidden
fixes bug: http://debbugs.gnu.org/15570
committer: Jan D. <address@hidden>
branch nick: trunk
timestamp: Wed 2013-10-09 20:50:14 +0200
message:
* nsfns.m (Fns_convert_utf8_nfd_to_nfc): Check input for valid UTF-8
or throw error.
modified:
src/ChangeLog changelog-20091113204419-o5vbwnq5f7feedwu-1438
src/nsfns.m nsfns.m-20091113204419-o5vbwnq5f7feedwu-8741
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog 2013-10-09 17:56:58 +0000
+++ b/src/ChangeLog 2013-10-09 18:50:14 +0000
@@ -1,3 +1,8 @@
+2013-10-09 Jan Djärv <address@hidden>
+
+ * nsfns.m (Fns_convert_utf8_nfd_to_nfc): Check input for valid UTF-8
+ or throw error (Bug#15570).
+
2013-10-09 Paul Eggert <address@hidden>
* intervals.c (temp_set_point_both): Move test into 'eassert',
=== modified file 'src/nsfns.m'
--- a/src/nsfns.m 2013-09-18 09:23:10 +0000
+++ b/src/nsfns.m 2013-10-09 18:50:14 +0000
@@ -2048,16 +2048,27 @@
/* TODO: If GNUstep ever implements precomposedStringWithCanonicalMapping,
remove this. */
NSString *utfStr;
- Lisp_Object ret;
+ Lisp_Object ret = Qnil;
+ NSAutoreleasePool *pool;
CHECK_STRING (str);
- NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
- utfStr = [NSString stringWithUTF8String: SSDATA (str)];
+ pool = [[NSAutoreleasePool alloc] init];
+ utfStr = [NSString stringWithUTF8String: SSDATA (str)];
#ifdef NS_IMPL_COCOA
- utfStr = [utfStr precomposedStringWithCanonicalMapping];
+ if (utfStr)
+ utfStr = [utfStr precomposedStringWithCanonicalMapping];
#endif
- ret = build_string ([utfStr UTF8String]);
+ if (utfStr)
+ {
+ const char *cstr = [utfStr UTF8String];
+ if (cstr)
+ ret = build_string (cstr);
+ }
+
[pool release];
+ if (NILP (ret))
+ error ("Invalid UTF-8");
+
return ret;
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] trunk r114596: * nsfns.m (Fns_convert_utf8_nfd_to_nfc): Check input for valid UTF-8,
Jan D. <=