summaryrefslogtreecommitdiffstats
path: root/libtommath/bn_mp_radix_size.c
diff options
context:
space:
mode:
Diffstat (limited to 'libtommath/bn_mp_radix_size.c')
-rw-r--r--libtommath/bn_mp_radix_size.c19
1 files changed, 12 insertions, 7 deletions
diff --git a/libtommath/bn_mp_radix_size.c b/libtommath/bn_mp_radix_size.c
index 1b61e3a..40c4d04 100644
--- a/libtommath/bn_mp_radix_size.c
+++ b/libtommath/bn_mp_radix_size.c
@@ -12,7 +12,7 @@
* The library is free for all purposes without any express
* guarantee it works.
*
- * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
+ * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
*/
/* returns size of ASCII reprensentation */
@@ -66,13 +66,18 @@ int mp_radix_size (mp_int * a, int radix, int *size)
}
mp_clear (&t);
- /* return digs + 1, the 1 is for the NULL byte that would be required. */
- *size = digs + 1;
+ /*
+ * return digs + 1, the 1 is for the NULL byte that would be required.
+ * mp_toradix_n requires a minimum of 3 bytes, so never report less than
+ * that.
+ */
+
+ if ( digs >= 2 ) {
+ *size = digs + 1;
+ } else {
+ *size = 3;
+ }
return MP_OKAY;
}
#endif
-
-/* $Source: /cvs/libtom/libtommath/bn_mp_radix_size.c,v $ */
-/* $Revision: 1.5 $ */
-/* $Date: 2006/12/28 01:25:13 $ */