Mercurial > hg > xemacs-beta
changeset 3836:edaaf9a96d40
[xemacs-hg @ 2007-02-19 14:10:43 by stephent]
Fix specifier tag alist dereference crash. <87wt2emdwe.fsf@uwakimon.sk.tsukuba.ac.jp>
author | stephent |
---|---|
date | Mon, 19 Feb 2007 14:10:44 +0000 |
parents | b104432f208e |
children | 8788198e27fe |
files | src/ChangeLog src/specifier.c |
diffstat | 2 files changed, 10 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/src/ChangeLog Sun Feb 18 22:51:22 2007 +0000 +++ b/src/ChangeLog Mon Feb 19 14:10:44 2007 +0000 @@ -1,3 +1,11 @@ +2007-02-19 Stephen J. Turnbull <stephen@xemacs.org> + + * specifier.c (Fdevice_matching_specifier_tag_list): + Don't take XCDR of possible non-cons. Avoids crash in VM introduced + or unmasked by Aidan's 2007-02-06 patch. + + (setup_device_initial_specifier_tags): Nuke unused variable. + 2007-02-18 Stephen J. Turnbull <stephen@xemacs.org> Code by Mike FABIAN <mfabian@suse.de>, Takashi Iwai <tiwai@suse.de>.
--- a/src/specifier.c Sun Feb 18 22:51:22 2007 +0000 +++ b/src/specifier.c Mon Feb 19 14:10:44 2007 +0000 @@ -1293,7 +1293,7 @@ { Lisp_Object rest, rest2; Lisp_Object device = wrap_device (d); - Lisp_Object device_predicate, charset_predicate; + Lisp_Object device_predicate; int list_len; DEVICE_USER_DEFINED_TAGS (d) = Fcopy_alist (Vuser_defined_tags); @@ -1395,7 +1395,7 @@ LIST_LOOP (rest, DEVICE_USER_DEFINED_TAGS (d)) { - if (!NILP (XCADR (XCAR (rest)))) + if (!NILP (XCDR (XCAR (rest)))) list = Fcons (XCAR (XCAR (rest)), list); }