]> git.eshelyaron.com Git - emacs.git/commitdiff
(read1): Check for invalid modifier bits in a string.
authorKarl Heuer <kwzh@gnu.org>
Tue, 22 Mar 1994 21:59:02 +0000 (21:59 +0000)
committerKarl Heuer <kwzh@gnu.org>
Tue, 22 Mar 1994 21:59:02 +0000 (21:59 +0000)
src/lread.c

index ccb2f52d2380bac1e01fa5ffc574337dcb89d936..af7a0153b02c4682971e675b52716e698602e6b9 100644 (file)
@@ -1210,11 +1210,15 @@ read1 (readcharfun)
                if (p == read_buffer)
                  cancel = 1;
              }
-           else if (c & CHAR_META)
-             /* Move the meta bit to the right place for a string.  */
-             *p++ = (c & ~CHAR_META) | 0x80;
            else
-             *p++ = c;
+             {
+               if (c & CHAR_META)
+                 /* Move the meta bit to the right place for a string.  */
+                 c = (c & ~CHAR_META) | 0x80;
+               if (c & ~0xff)
+                 error ("Invalid modifier in string");
+               *p++ = c;
+             }
          }
        if (c < 0) return Fsignal (Qend_of_file, Qnil);