X-Git-Url: http://git.silcnet.org/gitweb/?p=crypto.git;a=blobdiff_plain;f=lib%2Fsilcmath%2Ftfm.c;fp=lib%2Fsilcmath%2Ftfm.c;h=aab79d5c97e2c0ffacb019c8d5afb255ec8ff908;hp=49234bca01e556b7d32929049a8176da1d6beb59;hb=af315d6ae4f6f57944b558b18225454f63d24104;hpb=26618713bb72877372e5dc3b7b9f7d101c26fb78 diff --git a/lib/silcmath/tfm.c b/lib/silcmath/tfm.c index 49234bca..aab79d5c 100644 --- a/lib/silcmath/tfm.c +++ b/lib/silcmath/tfm.c @@ -2156,7 +2156,7 @@ int tfm_fp_mul_2(tfm_fp_int * a, tfm_fp_int * b) { int x, oldused; - if (b->alloc < a->used + 1) + if (b->alloc <= a->used + 1) if (tfm_fp_grow(b, a->used + 1)) return TFM_FP_MEM; @@ -2191,7 +2191,7 @@ int tfm_fp_mul_2(tfm_fp_int * a, tfm_fp_int * b) } /* new leading digit? */ - if (r != 0 && b->used != (b->alloc-1)) { + if (r != 0) { /* add a MSB which is always 1 at this point */ *tmpb = 1; ++(b->used); @@ -5672,7 +5672,7 @@ int tfm_fp_mul_d(tfm_fp_int *a, tfm_fp_digit b, tfm_fp_int *c) tfm_fp_word w; int x, oldused; - if (c->alloc < a->used + 1) + if (c->alloc <= a->used + 1) if (tfm_fp_grow(c, a->used + 1)) return TFM_FP_MEM; @@ -5685,7 +5685,7 @@ int tfm_fp_mul_d(tfm_fp_int *a, tfm_fp_digit b, tfm_fp_int *c) c->dp[x] = (tfm_fp_digit)w; w = w >> DIGIT_BIT; } - if (w != 0 && (a->used != a->alloc)) { + if (w != 0) { c->dp[c->used++] = w; ++x; }