Return if ssleay_rand_add called with zero num.
[openssl.git] / crypto / rand / md_rand.c
index 7158d30..67ac5ac 100644 (file)
@@ -212,6 +212,9 @@ static int ssleay_rand_add(const void *buf, int num, double add)
        int do_not_lock;
        int rv = 0;
 
+       if (!num)
+               return;
+
        /*
         * (Based on the rand(3) manpage)
         *
@@ -693,7 +696,7 @@ static void rand_hw_seed(EVP_MD_CTX *ctx)
                rnd = OPENSSL_ia32_rdrand();
                if (rnd == 0)
                        return;
-               MD_Update(ctx, (unsigned char *)rnd, sizeof(size_t));
+               MD_Update(ctx, (unsigned char *)&rnd, sizeof(size_t));
                }
        }