re PR libfortran/62188 (Array bounds overrun in bessel_yn_r4/8/16 and other functions)

2014-08-20  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR libgfortran/62188
	* m4/bessel.m4: Avoid indexing off the end of an array.
	* generated/bessel_r10.c: Regenerated.
	* generated/bessel_r16.c: Ditto.
	* generated/bessel_r4.c: Ditto.
	* generated/bessel_r8.c: Ditto.

From-SVN: r214229
This commit is contained in:
Steven G. Kargl 2014-08-20 16:18:27 +00:00
parent e8d8041d26
commit 0d43a91d22
6 changed files with 14 additions and 5 deletions

View file

@ -1,3 +1,12 @@
2014-08-20 Steven G. Kargl <kargl@gcc.gnu.org>
PR libgfortran/62188
* m4/bessel.m4: Avoid indexing off the end of an array.
* generated/bessel_r10.c: Regenerated.
* generated/bessel_r16.c: Ditto.
* generated/bessel_r4.c: Ditto.
* generated/bessel_r8.c: Ditto.
2014-08-14 Tobias Burnus <burnus@net-b.de>
* caf/libcaf.h (caf_register_t): Update for critical.

View file

@ -162,7 +162,7 @@ bessel_yn_r10 (gfc_array_r10 * const restrict ret, int n1, int n2,
x2rev = GFC_REAL_10_LITERAL(2.)/x;
for (i = 2; i <= n1+n2; i++)
for (i = 2; i <= n2 - n1; i++)
{
#if defined(GFC_REAL_10_INFINITY)
if (unlikely (last2 == -GFC_REAL_10_INFINITY))

View file

@ -166,7 +166,7 @@ bessel_yn_r16 (gfc_array_r16 * const restrict ret, int n1, int n2,
x2rev = GFC_REAL_16_LITERAL(2.)/x;
for (i = 2; i <= n1+n2; i++)
for (i = 2; i <= n2 - n1; i++)
{
#if defined(GFC_REAL_16_INFINITY)
if (unlikely (last2 == -GFC_REAL_16_INFINITY))

View file

@ -162,7 +162,7 @@ bessel_yn_r4 (gfc_array_r4 * const restrict ret, int n1, int n2,
x2rev = GFC_REAL_4_LITERAL(2.)/x;
for (i = 2; i <= n1+n2; i++)
for (i = 2; i <= n2 - n1; i++)
{
#if defined(GFC_REAL_4_INFINITY)
if (unlikely (last2 == -GFC_REAL_4_INFINITY))

View file

@ -162,7 +162,7 @@ bessel_yn_r8 (gfc_array_r8 * const restrict ret, int n1, int n2,
x2rev = GFC_REAL_8_LITERAL(2.)/x;
for (i = 2; i <= n1+n2; i++)
for (i = 2; i <= n2 - n1; i++)
{
#if defined(GFC_REAL_8_INFINITY)
if (unlikely (last2 == -GFC_REAL_8_INFINITY))

View file

@ -163,7 +163,7 @@ bessel_yn_r'rtype_kind` ('rtype` * const restrict ret, int n1, int n2,
x2rev = GFC_REAL_'rtype_kind`_LITERAL(2.)/x;
for (i = 2; i <= n1+n2; i++)
for (i = 2; i <= n2 - n1; i++)
{
#if defined('rtype_name`_INFINITY)
if (unlikely (last2 == -'rtype_name`_INFINITY))