]> git.eshelyaron.com Git - emacs.git/commitdiff
(decode_coding_utf_8): Treat surrogates as invalid.
authorDave Love <fx@gnu.org>
Wed, 9 Oct 2002 22:00:36 +0000 (22:00 +0000)
committerDave Love <fx@gnu.org>
Wed, 9 Oct 2002 22:00:36 +0000 (22:00 +0000)
src/coding.c

index c300ce20961efe51d5c116c90039888fe1a7bed8..7660fc01919fcb1d878ff0418a863cb8ac0a6e70 100644 (file)
@@ -1087,7 +1087,6 @@ detect_coding_utf_8 (coding, mask)
 }
 
 
-/* Fixme: deal with surrogates?  */
 static void
 decode_coding_utf_8 (coding)
      struct coding_system *coding;
@@ -1153,7 +1152,8 @@ decode_coding_utf_8 (coding)
                {
                  c = (((c1 & 0xF) << 12)
                       | ((c2 & 0x3F) << 6) | (c3 & 0x3F));
-                 if (c < 0x800)
+                 if (c < 0x800
+                     || (c >= 0xd800 && c < 0xe000)) /* surrogates (invalid) */
                    goto invalid_code;
                }
              else