Skip to content

Commit

Permalink
* bignum.c (rb_big_neg): may be accessing bogus pointer value.
Browse files Browse the repository at this point in the history
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8694 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
  • Loading branch information
matz committed Jul 1, 2005
1 parent 9e8d096 commit 10d3f6a
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 9 deletions.
4 changes: 4 additions & 0 deletions ChangeLog
@@ -1,3 +1,7 @@
Fri Jul 1 17:55:08 2005 Yukihiro Matsumoto <matz@ruby-lang.org>

* bignum.c (rb_big_neg): may be accessing bogus pointer value.

Fri Jul 1 15:50:12 2005 NAKAMURA Usaku <usa@ruby-lang.org>

* missing/erf.c: need to include some headers for some platforms.
Expand Down
10 changes: 3 additions & 7 deletions LEGAL
Expand Up @@ -127,14 +127,12 @@ st.[ch]:
x68/*:
missing/alloca.c:
missing/dup2.c:
missing/erf.c:
missing/finite.c:
missing/hypot.c:
missing/isinf.c:
missing/isnan.c:
missing/memcmp.c:
missing/memmove.c:
missing/mkdir.c:
missing/strcasecmp.c:
missing/strchr.c:
missing/streror.c:
Expand Down Expand Up @@ -179,6 +177,8 @@ missing/strtoul.c:
software for any purpose. It is provided "as is" without
express or implied warranty.

missing/erf.c:
missing/crypt.c:
missing/vsnprintf.c:

This file is under the old-style BSD license. Note that the
Expand All @@ -198,11 +198,7 @@ missing/vsnprintf.c:
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
3. All advertising materials mentioning features or use of this software
must display the following acknowledgement:
This product includes software developed by the University of
California, Berkeley and its contributors.
4. Neither the name of the University nor the names of its contributors
3. Neither the name of the University nor the names of its contributors
may be used to endorse or promote products derived from this software
without specific prior written permission.

Expand Down
6 changes: 4 additions & 2 deletions bignum.c
Expand Up @@ -1055,10 +1055,12 @@ rb_big_neg(x)
VALUE x;
{
VALUE z = rb_big_clone(x);
BDIGIT *ds = BDIGITS(z);
long i = RBIGNUM(x)->len;
BDIGIT *ds;
long i;

if (!RBIGNUM(x)->sign) get2comp(z);
ds = BDIGITS(z);
i = RBIGNUM(x)->len;
while (i--) {
ds[i] = ~ds[i];
}
Expand Down

0 comments on commit 10d3f6a

Please sign in to comment.