1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-10 05:50:26 +02:00

Fix bug #22369: segfault in `scm_add_slot ()'.

This commit is contained in:
Ludovic Courtès 2008-02-21 08:43:54 +00:00
parent 25a640ca6e
commit 5305df84f8
3 changed files with 17 additions and 2 deletions

7
NEWS
View file

@ -35,6 +35,13 @@ See `cancel-thread', `set-thread-cleanup!', and `thread-cleanup'.
indicating length of the `scm_t_option' array.
Changes in 1.8.5 (since 1.8.4)
* Bugs fixed
** `scm add_slot ()' no longer segfaults (fixes bug #22369)
Changes in 1.8.4 (since 1.8.3)

View file

@ -1,3 +1,10 @@
2008-02-21 Ludovic Courtès <ludo@gnu.org>
Fix bug #22369.
* goops.c (scm_add_slot): Add `SCM_UNDEFINED' as last argument
to `scm_list_n ()'. Thanks to the anonymous reporter.
2008-02-17 Ludovic Courtès <ludo@gnu.org>
* script.c (scm_compile_shell_switches): Update copyright year.

View file

@ -1,4 +1,4 @@
/* Copyright (C) 1998,1999,2000,2001,2002,2003,2004
/* Copyright (C) 1998,1999,2000,2001,2002,2003,2004,2008
* Free Software Foundation, Inc.
*
* This library is free software; you can redistribute it and/or
@ -2870,7 +2870,8 @@ scm_add_slot (SCM class, char *slot_name, SCM slot_class,
scm_list_1 (slot))));
{
SCM n = SCM_SLOT (class, scm_si_nfields);
SCM gns = scm_list_n (name, SCM_BOOL_F, get, set, n, scm_from_int (1));
SCM gns = scm_list_n (name, SCM_BOOL_F, get, set, n, scm_from_int (1),
SCM_UNDEFINED);
SCM_SET_SLOT (class, scm_si_getters_n_setters,
scm_append_x (scm_list_2 (SCM_SLOT (class, scm_si_getters_n_setters),
scm_list_1 (gns))));