[pycrypto] Possible problem in src/_fastmath.c
Dwayne C. Litzenberger
dlitz at dlitz.net
Thu Oct 16 06:13:38 CST 2008
On Thu, Oct 16, 2008 at 08:08:32AM -0400, Dwayne C. Litzenberger wrote:
> On Thu, Oct 16, 2008 at 03:39:29AM +0400, Sergey Chernov wrote:
>> See patch:
>> ----------------------------------------------------------------------------
>> diff --git a/src/_fastmath.c b/src/_fastmath.c
>> index d06d697..a0aa181 100755
>> --- a/src/_fastmath.c
>> +++ b/src/_fastmath.c
>> @@ -28,6 +28,7 @@ longObjToMPZ (mpz_t m, PyLongObject * p)
>> size = p->ob_size;
>> else
>> size = -p->ob_size;
>> + mpz_clear( m );
>> for (i = 0; i < size; i++)
>> {
>> mpz_set_ui (temp, p->ob_digit[i]);
>> ----------------------------------------------------------------------------
>>
>> Current usage do not discover the bug as 'm' is always just-initialized.
>> Still it, as I think, may cause trouble later.
>
> Sergey,
>
> What is the purpose of your patch? What bug are you referring to?
>
> Are you trying to set m to zero at the top of the loop? Looking at the GMP
> documentation (http://gmplib.org/manual/Initializing-Integers.html), I see
> that mpz_init() and mpz_clear() have similar usages as malloc() and free(),
> so I'm pretty sure that I do not want to apply your patch as-is.
Perhaps you meant this?
-------------------------------------------------------------------------------
diff --git a/src/_fastmath.c b/src/_fastmath.c
index d06d697..caf8e7b 100755
--- a/src/_fastmath.c
+++ b/src/_fastmath.c
@@ -28,6 +28,7 @@ longObjToMPZ (mpz_t m, PyLongObject * p)
size = p->ob_size;
else
size = -p->ob_size;
+ mpz_set_ui (m, 0);
for (i = 0; i < size; i++)
{
mpz_set_ui (temp, p->ob_digit[i]);
-------------------------------------------------------------------------------
--
Dwayne C. Litzenberger <dlitz at dlitz.net>
Key-signing key - 19E1 1FE8 B3CF F273 ED17 4A24 928C EC13 39C2 5CF7
Annual key (2008) - 4B2A FD82 FC7D 9E38 38D9 179F 1C11 B877 E780 4B45
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: Digital signature
Url : http://lists.dlitz.net/pipermail/pycrypto/attachments/20081016/d0a14b31/attachment.pgp
More information about the pycrypto
mailing list