Index: /trunk/src/VBox/VMM/VMMR3/SSM.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMR3/SSM.cpp	(revision 37025)
+++ /trunk/src/VBox/VMM/VMMR3/SSM.cpp	(revision 37026)
@@ -6294,5 +6294,5 @@
 DECLINLINE(int) ssmR3GetHCPtrNI(PSSMHANDLE pSSM, void **ppv, uint32_t fFlags)
 {
-    int rc;
+    uintptr_t uPtrNI;
     if (fFlags & SSMSTRUCT_FLAGS_DONT_IGNORE)
     {
@@ -6300,14 +6300,16 @@
         {
             uint64_t u;
-            rc = ssmR3DataRead(pSSM, &u, sizeof(u));
-            if (RT_SUCCESS(rc))
-                *ppv = (void *)(u ? 1UL : 0UL);
+            int rc = ssmR3DataRead(pSSM, &u, sizeof(u));
+            if (RT_FAILURE(rc))
+                return rc;
+            uPtrNI = u ? 1 : 0;
         }
         else
         {
             uint32_t u;
-            rc = ssmR3DataRead(pSSM, &u, sizeof(u));
-            if (RT_SUCCESS(rc))
-                *ppv = (void *)(u ? 1UL : 0UL);
+            int rc = ssmR3DataRead(pSSM, &u, sizeof(u));
+            if (RT_FAILURE(rc))
+                return rc;
+            uPtrNI = u ? 1 : 0;
         }
     }
@@ -6315,9 +6317,11 @@
     {
         bool f;
-        rc = SSMR3GetBool(pSSM, &f);
-        if (RT_SUCCESS(rc))
-            *ppv = (void *)(f ? 1UL : 0UL);
-    }
-    return rc;
+        int rc = SSMR3GetBool(pSSM, &f);
+        if (RT_FAILURE(rc))
+            return rc;
+        uPtrNI = f ? 1 : 0;
+    }
+    *ppv = (void *)uPtrNI;
+    return VINF_SUCCESS;
 }
 
