From f86c7801e921afd09aa4db0837796f84b08aae0b Mon Sep 17 00:00:00 2001 From: "Daniel P. Berrange" Date: Tue, 23 Nov 2010 13:32:31 +0000 Subject: [PATCH] Fix 32-bit int truncation in QED header check * src/util/memory.c: Avoid 32-bit truncation extracting a 64bit int --- src/util/storage_file.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/util/storage_file.c b/src/util/storage_file.c index 2612eb6506..4faa99d8b3 100644 --- a/src/util/storage_file.c +++ b/src/util/storage_file.c @@ -437,14 +437,14 @@ qedGetHeaderUL(const unsigned char *loc) static unsigned long long qedGetHeaderULL(const unsigned char *loc) { - return ( ((unsigned long)loc[7] << 56) - | ((unsigned long)loc[6] << 48) - | ((unsigned long)loc[5] << 40) - | ((unsigned long)loc[4] << 32) - | ((unsigned long)loc[3] << 24) - | ((unsigned long)loc[2] << 16) - | ((unsigned long)loc[1] << 8) - | ((unsigned long)loc[0] << 0)); + return ( ((unsigned long long)loc[7] << 56) + | ((unsigned long long)loc[6] << 48) + | ((unsigned long long)loc[5] << 40) + | ((unsigned long long)loc[4] << 32) + | ((unsigned long long)loc[3] << 24) + | ((unsigned long long)loc[2] << 16) + | ((unsigned long long)loc[1] << 8) + | ((unsigned long long)loc[0] << 0)); } static int -- 2.47.2