]> git.kaiwu.me - njs.git/commitdiff
Fixed undefined behaviour in left shift of int value.
authorDmitry Volyntsev <xeioex@nginx.com>
Thu, 29 Aug 2019 12:12:45 +0000 (15:12 +0300)
committerDmitry Volyntsev <xeioex@nginx.com>
Thu, 29 Aug 2019 12:12:45 +0000 (15:12 +0300)
src/njs_random.c

index b2fc674391fad23c1a5398d2a0a1c0f5c605f243..806b4d166f48400752c8fbcd44ce3e4d72e0144f 100644 (file)
@@ -166,10 +166,10 @@ njs_random(njs_random_t *r)
         njs_random_stir(r, pid);
     }
 
-    val  = njs_random_byte(r) << 24;
-    val |= njs_random_byte(r) << 16;
-    val |= njs_random_byte(r) << 8;
-    val |= njs_random_byte(r);
+    val  = (uint32_t) njs_random_byte(r) << 24;
+    val |= (uint32_t) njs_random_byte(r) << 16;
+    val |= (uint32_t) njs_random_byte(r) << 8;
+    val |= (uint32_t) njs_random_byte(r);
 
     return val;
 }