]> granicus.if.org Git - shadow/commitdiff
(shadow_random): Use long instead of size_t.
authorNicolas François <nicolas.francois@centraliens.net>
Tue, 13 Aug 2013 17:16:24 +0000 (19:16 +0200)
committerNicolas François <nicolas.francois@centraliens.net>
Tue, 13 Aug 2013 17:16:24 +0000 (19:16 +0200)
* libmisc/salt.c (shadow_random): Use long instead of size_t.
Compatibility with size_t is easier to check since it's used for
smaller numbers (salt size).

ChangeLog
libmisc/salt.c

index e6531c51fbb58dc8c323c305e3821c67d12592a7..ff486f2dcdc5663e2efd880420aeb46e8868987b 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2013-08-13  Nicolas François  <nicolas.francois@centraliens.net>
+
+       * libmisc/salt.c (shadow_random): Use long instead of size_t.
+       Compatibility with size_t is easier to check since it's used for
+       smaller numbers (salt size).
+
 2013-08-13  Nicolas François  <nicolas.francois@centraliens.net>
 
        * lib/groupmem.c: Add splint annotations. The added memset makes
index 156a32521a0620fd866a27494499b2b4570d4eb9..c72447ea78bc9cb8c30ebb7ad94e5226d2d6299a 100644 (file)
@@ -23,7 +23,7 @@
 static void seedRNG (void);
 static /*@observer@*/const char *gensalt (size_t salt_size);
 #ifdef USE_SHA_CRYPT
-static size_t shadow_random (size_t min, size_t max);
+static long shadow_random (long min, long max);
 static /*@observer@*/const char *SHA_salt_rounds (/*@null@*/int *prefered_rounds);
 #endif /* USE_SHA_CRYPT */
 
@@ -90,15 +90,15 @@ static void seedRNG (void)
  *
  * It favors slightly the higher numbers.
  */
-static size_t shadow_random (size_t min, size_t max)
+static long shadow_random (long min, long max)
 {
        double drand;
-       size_t ret;
+       long ret;
        seedRNG ();
        drand = (double) (max - min + 1) * random () / RANDOM_MAX;
        /* On systems were this is not random() range is lower, we favor
         * higher numbers of salt. */
-       ret = (size_t) (max + 1 - drand);
+       ret = (long) (max + 1 - drand);
        /* And we catch limits, and use the highest number */
        if ((ret < min) || (ret > max)) {
                ret = max;
@@ -234,11 +234,11 @@ static /*@observer@*/const char *gensalt (size_t salt_size)
        } else if (0 == strcmp (method, "SHA256")) {
                MAGNUM(result, '5');
                strcat(result, SHA_salt_rounds((int *)arg));
-               salt_len = shadow_random (8, 16);
+               salt_len = (size_t) shadow_random (8, 16);
        } else if (0 == strcmp (method, "SHA512")) {
                MAGNUM(result, '6');
                strcat(result, SHA_salt_rounds((int *)arg));
-               salt_len = shadow_random (8, 16);
+               salt_len = (size_t) shadow_random (8, 16);
 #endif /* USE_SHA_CRYPT */
        } else if (0 != strcmp (method, "DES")) {
                fprintf (stderr,