mirror of
https://github.com/ruby/ruby.git
synced 2025-08-23 21:14:23 +02:00
* bignum.c (bigrsh_bang): Fix bignum digits overrun.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41841 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
2db6f96cd0
commit
fa1e85c933
2 changed files with 6 additions and 2 deletions
|
@ -1,3 +1,7 @@
|
||||||
|
Tue Jul 9 01:17:57 2013 Tanaka Akira <akr@fsij.org>
|
||||||
|
|
||||||
|
* bignum.c (bigrsh_bang): Fix bignum digits overrun.
|
||||||
|
|
||||||
Tue Jul 9 00:46:22 2013 Tanaka Akira <akr@fsij.org>
|
Tue Jul 9 00:46:22 2013 Tanaka Akira <akr@fsij.org>
|
||||||
|
|
||||||
* bignum.c (biglsh_bang): Fix bignum digits under-run.
|
* bignum.c (biglsh_bang): Fix bignum digits under-run.
|
||||||
|
|
4
bignum.c
4
bignum.c
|
@ -4452,11 +4452,11 @@ bigrsh_bang(BDIGIT* xds, long xn, unsigned long shift)
|
||||||
i = 0;
|
i = 0;
|
||||||
zds = xds + s1;
|
zds = xds + s1;
|
||||||
num = *zds++>>s2;
|
num = *zds++>>s2;
|
||||||
do {
|
while (i < xn - s1 - 1) {
|
||||||
xds[i++] = BIGLO(*zds<<s3) | num;
|
xds[i++] = BIGLO(*zds<<s3) | num;
|
||||||
num = *zds++>>s2;
|
num = *zds++>>s2;
|
||||||
}
|
}
|
||||||
while (i < xn - s1 - 1);
|
assert(i < xn);
|
||||||
xds[i] = num;
|
xds[i] = num;
|
||||||
MEMZERO(xds + xn - s1, BDIGIT, s1);
|
MEMZERO(xds + xn - s1, BDIGIT, s1);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue