Cast the unsigned char to unsigned int before shifting left
[openssl.git] / crypto / pem / pvkfmt.c
index e2f570288086e0f58e5b34d4ade6075dd450e7ce..6d85a8a4e19d4ddea9c44c2ada1edf5ec54418d3 100644 (file)
@@ -36,10 +36,10 @@ static unsigned int read_ledword(const unsigned char **in)
 {
     const unsigned char *p = *in;
     unsigned int ret;
-    ret = *p++;
-    ret |= (*p++ << 8);
-    ret |= (*p++ << 16);
-    ret |= (*p++ << 24);
+    ret = (unsigned int)*p++;
+    ret |= (unsigned int)*p++ << 8;
+    ret |= (unsigned int)*p++ << 16;
+    ret |= (unsigned int)*p++ << 24;
     *in = p;
     return ret;
 }