Index: /trunk/src/VBox/Main/ApplianceImplImport.cpp
===================================================================
--- /trunk/src/VBox/Main/ApplianceImplImport.cpp	(revision 33787)
+++ /trunk/src/VBox/Main/ApplianceImplImport.cpp	(revision 33788)
@@ -917,5 +917,6 @@
         size_t cbSize = 0;
         int vrc = RTSha1ReadBuf(strOvfFile.c_str(), &pvTmpBuf, &cbSize, pCallbacks, pStorage);
-        if (RT_FAILURE(vrc))
+        if (   RT_FAILURE(vrc)
+            || !pvTmpBuf)
             throw setError(VBOX_E_FILE_ERROR,
                            tr("Could not read OVF file '%s' (%Rrc)"),
@@ -1305,11 +1306,13 @@
                              tar, &storage.pVDImageIfaces);
         if (RT_FAILURE(vrc))
-            throw E_FAIL;
+            throw setError(E_FAIL,
+                           tr("Internal error (%Rrc)"), vrc);
 
         /* Skip the OVF file, cause this was read in IAppliance::Read already. */
         vrc = RTTarSeekNextFile(tar);
-        if (RT_FAILURE(vrc))
-            /* Better error .... no unusual error */
-            throw E_FAIL;
+        if (   RT_FAILURE(vrc)
+            && vrc != VERR_TAR_END_OF_FILE)
+            throw setError(E_FAIL,
+                           tr("Internal error (%Rrc)"), vrc);
 
         PVDINTERFACEIO pCallbacks = pRTSha1Callbacks;
