GNU bug report logs - #29162
[PATCH] fix scm_make_foreign_object_n

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: guile; Reported by: Sergei Trofimovich <slyfox@HIDDEN>; Keywords: patch; dated Sun, 5 Nov 2017 22:16:02 UTC; Maintainer for guile is bug-guile@HIDDEN.

Message received at 29162 <at> debbugs.gnu.org:


Received: (at 29162) by debbugs.gnu.org; 22 Nov 2017 21:30:02 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Nov 22 16:30:02 2017
Received: from localhost ([127.0.0.1]:53158 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1eHcan-0001Ml-Cr
	for submit <at> debbugs.gnu.org; Wed, 22 Nov 2017 16:30:01 -0500
Received: from hera.aquilenet.fr ([141.255.128.1]:33445)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <ludo@HIDDEN>) id 1eHcal-0001MI-Hd
 for 29162 <at> debbugs.gnu.org; Wed, 22 Nov 2017 16:29:59 -0500
Received: from localhost (localhost [127.0.0.1])
 by hera.aquilenet.fr (Postfix) with ESMTP id AFADEFF63;
 Wed, 22 Nov 2017 22:30:00 +0100 (CET)
X-Virus-Scanned: Debian amavisd-new at aquilenet.fr
Received: from hera.aquilenet.fr ([127.0.0.1])
 by localhost (hera.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id 7srEgRx5sNIg; Wed, 22 Nov 2017 22:30:00 +0100 (CET)
Received: from ribbon (unknown [IPv6:2a01:e0a:1d:7270:af76:b9b:ca24:c465])
 by hera.aquilenet.fr (Postfix) with ESMTPSA id 9D219F3E2;
 Wed, 22 Nov 2017 22:29:59 +0100 (CET)
From: ludo@HIDDEN (Ludovic =?utf-8?Q?Court=C3=A8s?=)
To: Sergei Trofimovich <slyfox@HIDDEN>, Andy Wingo <wingo@HIDDEN>
Subject: Re: bug#29162: [PATCH] fix scm_make_foreign_object_n
References: <20171105221510.12760-1-slyfox@HIDDEN>
 <871skqz6sn.fsf@HIDDEN> <20171122200320.23ad3f55@sf>
X-URL: http://www.fdn.fr/~lcourtes/
X-Revolutionary-Date: 2 Frimaire an 226 de la =?utf-8?Q?R=C3=A9volution?=
X-PGP-Key-ID: 0x090B11993D9AEBB5
X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc
X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4  0CFB 090B 1199 3D9A EBB5
X-OS: x86_64-pc-linux-gnu
Date: Wed, 22 Nov 2017 22:29:56 +0100
In-Reply-To: <20171122200320.23ad3f55@sf> (Sergei Trofimovich's message of
 "Wed, 22 Nov 2017 20:03:20 +0000")
Message-ID: <87wp2iuhm3.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 1.0 (+)
X-Debbugs-Envelope-To: 29162
Cc: 29162 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: 1.0 (+)

Heya,

Sergei Trofimovich <slyfox@HIDDEN> skribis:

> On Wed, 22 Nov 2017 16:12:24 +0100
> ludo@HIDDEN (Ludovic Court=C3=A8s) wrote:
>
>> Hi Sergei,
>>=20
>> Sergei Trofimovich <slyfox@HIDDEN> skribis:
>>=20
>> > diff --git a/libguile/foreign-object.c b/libguile/foreign-object.c
>> > index 34b9f22ca..8fd2c384c 100644
>> > --- a/libguile/foreign-object.c
>> > +++ b/libguile/foreign-object.c
>> > @@ -108,7 +108,7 @@ scm_make_foreign_object_n (SCM type, size_t n, voi=
d *vals[])
>> >=20=20
>> >    SCM_VALIDATE_VTABLE (SCM_ARG1, type);
>> >=20=20
>> > -  if (SCM_VTABLE_SIZE (type) / 2 < n)
>> > +  if (SCM_VTABLE_SIZE (type) < n)
>> >      scm_out_of_range (FUNC_NAME, scm_from_size_t (n));=20=20
>>=20
>> Your analysis seems right, but the code in the current =E2=80=98stable-2=
.2=E2=80=99
>> branch (which corresponds to the 2.2.x stable series) has different code
>> (correct code):
>>=20
>>   SCM_VALIDATE_VTABLE (SCM_ARG1, type);
>>=20
>>   layout =3D SCM_VTABLE_LAYOUT (type);
>>=20
>>   if (scm_i_symbol_length (layout) / 2 < n)
>>     scm_out_of_range (FUNC_NAME, scm_from_size_t (n));
>>=20
>> What version were you looking at?
>
> It was the master branch of
>     git://git.savannah.gnu.org/guile.git
>
> Commit from November:
>     http://git.savannah.gnu.org/cgit/guile.git/commit/?id=3Df96a670332b22=
4326b89ce135a0edfb77a70c46e=20=20=20=20
>
> The link with line number:
>     http://git.savannah.gnu.org/cgit/guile.git/tree/libguile/foreign-obje=
ct.c?id=3Df96a670332b224326b89ce135a0edfb77a70c46e#n111
>
> In master branch it still seems to be around:
>     http://git.savannah.gnu.org/cgit/guile.git/tree/libguile/foreign-obje=
ct.c#n111

Indeed.

Andy, could you take a look?  The patch LGTM.

Ludo=E2=80=99.




Information forwarded to bug-guile@HIDDEN:
bug#29162; Package guile. Full text available.

Message received at 29162 <at> debbugs.gnu.org:


Received: (at 29162) by debbugs.gnu.org; 22 Nov 2017 20:03:45 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Nov 22 15:03:45 2017
Received: from localhost ([127.0.0.1]:53103 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1eHbFJ-0007jw-3u
	for submit <at> debbugs.gnu.org; Wed, 22 Nov 2017 15:03:45 -0500
Received: from smtp.gentoo.org ([140.211.166.183]:37702)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <slyfox@HIDDEN>) id 1eHbFH-0007jf-76
 for 29162 <at> debbugs.gnu.org; Wed, 22 Nov 2017 15:03:43 -0500
Received: from sf (host81-147-9-225.range81-147.btcentralplus.com
 [81.147.9.225])
 (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
 (No client certificate requested) (Authenticated sender: slyfox)
 by smtp.gentoo.org (Postfix) with ESMTPSA id 49ECD33C770;
 Wed, 22 Nov 2017 20:03:36 +0000 (UTC)
Date: Wed, 22 Nov 2017 20:03:20 +0000
From: Sergei Trofimovich <slyfox@HIDDEN>
To: ludo@HIDDEN (Ludovic =?UTF-8?B?Q291cnTDqHM=?=)
Subject: Re: bug#29162: [PATCH] fix scm_make_foreign_object_n
Message-ID: <20171122200320.23ad3f55@sf>
In-Reply-To: <871skqz6sn.fsf@HIDDEN>
References: <20171105221510.12760-1-slyfox@HIDDEN> <871skqz6sn.fsf@HIDDEN>
X-Mailer: Claws Mail 3.15.1-dirty (GTK+ 2.24.31; x86_64-pc-linux-gnu)
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha1;
 boundary="Sig_/uZQ/WyYIRdOzFyVeT8G1tQL"; protocol="application/pgp-signature"
X-Spam-Score: -5.0 (-----)
X-Debbugs-Envelope-To: 29162
Cc: 29162 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -5.0 (-----)

--Sig_/uZQ/WyYIRdOzFyVeT8G1tQL
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

On Wed, 22 Nov 2017 16:12:24 +0100
ludo@HIDDEN (Ludovic Court=C3=A8s) wrote:

> Hi Sergei,
>=20
> Sergei Trofimovich <slyfox@HIDDEN> skribis:
>=20
> > diff --git a/libguile/foreign-object.c b/libguile/foreign-object.c
> > index 34b9f22ca..8fd2c384c 100644
> > --- a/libguile/foreign-object.c
> > +++ b/libguile/foreign-object.c
> > @@ -108,7 +108,7 @@ scm_make_foreign_object_n (SCM type, size_t n, void=
 *vals[])
> > =20
> >    SCM_VALIDATE_VTABLE (SCM_ARG1, type);
> > =20
> > -  if (SCM_VTABLE_SIZE (type) / 2 < n)
> > +  if (SCM_VTABLE_SIZE (type) < n)
> >      scm_out_of_range (FUNC_NAME, scm_from_size_t (n)); =20
>=20
> Your analysis seems right, but the code in the current =E2=80=98stable-2.=
2=E2=80=99
> branch (which corresponds to the 2.2.x stable series) has different code
> (correct code):
>=20
>   SCM_VALIDATE_VTABLE (SCM_ARG1, type);
>=20
>   layout =3D SCM_VTABLE_LAYOUT (type);
>=20
>   if (scm_i_symbol_length (layout) / 2 < n)
>     scm_out_of_range (FUNC_NAME, scm_from_size_t (n));
>=20
> What version were you looking at?

It was the master branch of
    git://git.savannah.gnu.org/guile.git

Commit from November:
    http://git.savannah.gnu.org/cgit/guile.git/commit/?id=3Df96a670332b2243=
26b89ce135a0edfb77a70c46e   =20

The link with line number:
    http://git.savannah.gnu.org/cgit/guile.git/tree/libguile/foreign-object=
.c?id=3Df96a670332b224326b89ce135a0edfb77a70c46e#n111

In master branch it still seems to be around:
    http://git.savannah.gnu.org/cgit/guile.git/tree/libguile/foreign-object=
.c#n111

--=20

  Sergei

--Sig_/uZQ/WyYIRdOzFyVeT8G1tQL
Content-Type: application/pgp-signature
Content-Description: Цифровая подпись OpenPGP

-----BEGIN PGP SIGNATURE-----

iF0EARECAB0WIQSZKa0VG5avZRlY01hxoe52YR/zqgUCWhXYCAAKCRBxoe52YR/z
qljyAJ42aiZoT4Mv3t6uVuTDWneA4dTfbQCeOHXTtACUpYmICrLg4TGgRKo9/EA=
=rFOD
-----END PGP SIGNATURE-----

--Sig_/uZQ/WyYIRdOzFyVeT8G1tQL--




Information forwarded to bug-guile@HIDDEN:
bug#29162; Package guile. Full text available.

Message received at 29162 <at> debbugs.gnu.org:


Received: (at 29162) by debbugs.gnu.org; 22 Nov 2017 15:12:29 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Nov 22 10:12:29 2017
Received: from localhost ([127.0.0.1]:52846 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1eHWhR-0006yM-0V
	for submit <at> debbugs.gnu.org; Wed, 22 Nov 2017 10:12:29 -0500
Received: from hera.aquilenet.fr ([141.255.128.1]:60555)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <ludo@HIDDEN>) id 1eHWhO-0006yE-Ub
 for 29162 <at> debbugs.gnu.org; Wed, 22 Nov 2017 10:12:27 -0500
Received: from localhost (localhost [127.0.0.1])
 by hera.aquilenet.fr (Postfix) with ESMTP id A733AFE3C;
 Wed, 22 Nov 2017 16:12:28 +0100 (CET)
X-Virus-Scanned: Debian amavisd-new at aquilenet.fr
Received: from hera.aquilenet.fr ([127.0.0.1])
 by localhost (hera.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id yW6CFz__TwEZ; Wed, 22 Nov 2017 16:12:27 +0100 (CET)
Received: from ribbon (unknown [IPv6:2a01:e0a:1d:7270:af76:b9b:ca24:c465])
 by hera.aquilenet.fr (Postfix) with ESMTPSA id 13C0AF3C9;
 Wed, 22 Nov 2017 16:12:27 +0100 (CET)
From: ludo@HIDDEN (Ludovic =?utf-8?Q?Court=C3=A8s?=)
To: Sergei Trofimovich <slyfox@HIDDEN>
Subject: Re: bug#29162: [PATCH] fix scm_make_foreign_object_n
References: <20171105221510.12760-1-slyfox@HIDDEN>
Date: Wed, 22 Nov 2017 16:12:24 +0100
In-Reply-To: <20171105221510.12760-1-slyfox@HIDDEN> (Sergei Trofimovich's
 message of "Sun, 5 Nov 2017 22:15:10 +0000")
Message-ID: <871skqz6sn.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 1.0 (+)
X-Debbugs-Envelope-To: 29162
Cc: 29162 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: 1.0 (+)

Hi Sergei,

Sergei Trofimovich <slyfox@HIDDEN> skribis:

> diff --git a/libguile/foreign-object.c b/libguile/foreign-object.c
> index 34b9f22ca..8fd2c384c 100644
> --- a/libguile/foreign-object.c
> +++ b/libguile/foreign-object.c
> @@ -108,7 +108,7 @@ scm_make_foreign_object_n (SCM type, size_t n, void *=
vals[])
>=20=20
>    SCM_VALIDATE_VTABLE (SCM_ARG1, type);
>=20=20
> -  if (SCM_VTABLE_SIZE (type) / 2 < n)
> +  if (SCM_VTABLE_SIZE (type) < n)
>      scm_out_of_range (FUNC_NAME, scm_from_size_t (n));

Your analysis seems right, but the code in the current =E2=80=98stable-2.2=
=E2=80=99
branch (which corresponds to the 2.2.x stable series) has different code
(correct code):

  SCM_VALIDATE_VTABLE (SCM_ARG1, type);

  layout =3D SCM_VTABLE_LAYOUT (type);

  if (scm_i_symbol_length (layout) / 2 < n)
    scm_out_of_range (FUNC_NAME, scm_from_size_t (n));

What version were you looking at?

Thanks,
Ludo=E2=80=99.




Information forwarded to bug-guile@HIDDEN:
bug#29162; Package guile. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 5 Nov 2017 22:15:31 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Nov 05 17:15:31 2017
Received: from localhost ([127.0.0.1]:52759 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1eBTCV-00068r-Jt
	for submit <at> debbugs.gnu.org; Sun, 05 Nov 2017 17:15:31 -0500
Received: from eggs.gnu.org ([208.118.235.92]:44033)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <slyfox@HIDDEN>) id 1eBTCU-00068d-0d
 for submit <at> debbugs.gnu.org; Sun, 05 Nov 2017 17:15:30 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <slyfox@HIDDEN>) id 1eBTCN-0002Lm-TK
 for submit <at> debbugs.gnu.org; Sun, 05 Nov 2017 17:15:24 -0500
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level: 
X-Spam-Status: No, score=-0.5 required=5.0 tests=BAYES_05 autolearn=disabled
 version=3.3.2
Received: from lists.gnu.org ([2001:4830:134:3::11]:45030)
 by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32)
 (Exim 4.71) (envelope-from <slyfox@HIDDEN>) id 1eBTCN-0002Lg-Jg
 for submit <at> debbugs.gnu.org; Sun, 05 Nov 2017 17:15:23 -0500
Received: from eggs.gnu.org ([2001:4830:134:3::10]:35000)
 by lists.gnu.org with esmtp (Exim 4.71)
 (envelope-from <slyfox@HIDDEN>) id 1eBTCM-00026i-BX
 for bug-guile@HIDDEN; Sun, 05 Nov 2017 17:15:23 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <slyfox@HIDDEN>) id 1eBTCJ-0002K7-3D
 for bug-guile@HIDDEN; Sun, 05 Nov 2017 17:15:22 -0500
Received: from mail.gentoo.org ([2001:470:ea4a:1:5054:ff:fec7:86e4]:37539
 helo=smtp.gentoo.org)
 by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16)
 (Exim 4.71) (envelope-from <slyfox@HIDDEN>) id 1eBTCI-0002Iv-Sn
 for bug-guile@HIDDEN; Sun, 05 Nov 2017 17:15:19 -0500
Received: from sf.home (host86-186-94-90.range86-186.btcentralplus.com
 [86.186.94.90])
 (using TLSv1 with cipher ECDHE-RSA-AES128-SHA (128/128 bits))
 (No client certificate requested) (Authenticated sender: slyfox)
 by smtp.gentoo.org (Postfix) with ESMTPSA id 70D103416F0;
 Sun,  5 Nov 2017 22:15:16 +0000 (UTC)
Received: by sf.home (Postfix, from userid 1000)
 id E4EA81C75F975; Sun,  5 Nov 2017 22:15:11 +0000 (GMT)
From: Sergei Trofimovich <slyfox@HIDDEN>
To: bug-guile@HIDDEN
Subject: [PATCH] fix scm_make_foreign_object_n
Date: Sun,  5 Nov 2017 22:15:10 +0000
Message-Id: <20171105221510.12760-1-slyfox@HIDDEN>
X-Mailer: git-send-email 2.15.0
X-detected-operating-system: by eggs.gnu.org: Genre and OS details not
 recognized.
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x
X-Received-From: 2001:4830:134:3::11
X-Spam-Score: -4.4 (----)
X-Debbugs-Envelope-To: submit
Cc: Sergei Trofimovich <slyfox@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -4.4 (----)

Noticed the error when ran test suite on ia64
but failure is not specific to t. x86_64 is as broken.

test-foreign-object-c fails as:

```
Backtrace:
           0 (apply-smob/1 #<catch-closure 556d010a52a0>)

ERROR: In procedure apply-smob/1:
ERROR: In procedure make-foreign-object: Value out of range: 2
FAIL: test-foreign-object-c
```

The cause of the failure is wrong check for amount of available
slots prepared by 'scm_make_foreign_object_type'.

The fix is easy: check for amount of slots available.

* libguile/foreign-object.c(scm_make_foreign_object_n): fix slot
  count check in foreign object constructors.

Signed-off-by: Sergei Trofimovich <slyfox@HIDDEN>
---
 libguile/foreign-object.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libguile/foreign-object.c b/libguile/foreign-object.c
index 34b9f22ca..8fd2c384c 100644
--- a/libguile/foreign-object.c
+++ b/libguile/foreign-object.c
@@ -108,7 +108,7 @@ scm_make_foreign_object_n (SCM type, size_t n, void *vals[])
 
   SCM_VALIDATE_VTABLE (SCM_ARG1, type);
 
-  if (SCM_VTABLE_SIZE (type) / 2 < n)
+  if (SCM_VTABLE_SIZE (type) < n)
     scm_out_of_range (FUNC_NAME, scm_from_size_t (n));
 
   for (i = 0; i < n; i++)
-- 
2.15.0





Acknowledgement sent to Sergei Trofimovich <slyfox@HIDDEN>:
New bug report received and forwarded. Copy sent to bug-guile@HIDDEN. Full text available.
Report forwarded to bug-guile@HIDDEN:
bug#29162; Package guile. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Mon, 25 Nov 2019 12:00:02 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.