Description: fix bug in mp_radix_size() 
 zero values returned a length of 1, not 2 in case of radix 2
 re-ordering the special casing takes care of it.
 .
 This patch is required to fix nqp (Perl6) non-regression
 tests
Bug: https://github.com/libtom/libtommath/issues/35
Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=796507
Author: https://github.com/gerdr
Origin: upstream
--- a/bn_mp_radix_size.c
+++ b/bn_mp_radix_size.c
@@ -24,12 +24,6 @@ int mp_radix_size (mp_int * a, int radix, int *size)
 
   *size = 0;
 
-  /* special case for binary */
-  if (radix == 2) {
-    *size = mp_count_bits (a) + (a->sign == MP_NEG ? 1 : 0) + 1;
-    return MP_OKAY;
-  }
-
   /* make sure the radix is in range */
   if (radix < 2 || radix > 64) {
     return MP_VAL;
@@ -40,6 +34,12 @@ int mp_radix_size (mp_int * a, int radix, int *size)
     return MP_OKAY;
   }
 
+  /* special case for binary */
+  if (radix == 2) {
+    *size = mp_count_bits (a) + (a->sign == MP_NEG ? 1 : 0) + 1;
+    return MP_OKAY;
+  }
+
   /* digs is the digit count */
   digs = 0;
 
