]> git.eshelyaron.com Git - emacs.git/commitdiff
Avoid segfault in command-modes
authorBasil L. Contovounesios <contovob@tcd.ie>
Sat, 4 Sep 2021 16:04:26 +0000 (17:04 +0100)
committerBasil L. Contovounesios <contovob@tcd.ie>
Sat, 4 Sep 2021 19:28:31 +0000 (21:28 +0200)
* src/data.c (Fcommand_modes): Check that bytecode object is
interactive before accessing its interactive spec to avoid
segfaulting (bug#50376).

src/data.c

index ffca7e753550fa1aed6ca14df848cef6a008c64e..27b642df2862b6ec26fe2836d02b1ac0540ca00c 100644 (file)
@@ -1045,6 +1045,8 @@ The value, if non-nil, is a list of mode name symbols.  */)
 
   if (COMPILEDP (fun))
     {
+      if (PVSIZE (fun) <= COMPILED_INTERACTIVE)
+       return Qnil;
       Lisp_Object form = AREF (fun, COMPILED_INTERACTIVE);
       if (VECTORP (form))
        /* New form -- the second element is the command modes. */