Index: /trunk/src/VBox/HostServices/GuestControl/service.cpp
===================================================================
--- /trunk/src/VBox/HostServices/GuestControl/service.cpp	(revision 60390)
+++ /trunk/src/VBox/HostServices/GuestControl/service.cpp	(revision 60391)
@@ -5,5 +5,5 @@
 
 /*
- * Copyright (C) 2011-2014 Oracle Corporation
+ * Copyright (C) 2011-2016 Oracle Corporation
  *
  * This file is part of VirtualBox Open Source Edition (OSE), as
@@ -1611,12 +1611,17 @@
         else
         {
-            Service *apService = NULL;
+            Service *pService = NULL;
             /* No exceptions may propagate outside. */
-            try {
-                apService = new Service(pTable->pHelpers);
-            } catch (int rcThrown) {
+            try
+            {
+                pService = new Service(pTable->pHelpers);
+            }
+            catch (int rcThrown)
+            {
                 rc = rcThrown;
-            } catch (...) {
-                rc = VERR_UNRESOLVED_ERROR;
+            }
+            catch(std::bad_alloc &)
+            {
+                rc = VERR_NO_MEMORY;
             }
 
@@ -1640,5 +1645,13 @@
 
                 /* Service specific initialization. */
-                pTable->pvService = apService;
+                pTable->pvService = pService;
+            }
+            else
+            {
+                if (pService)
+                {
+                    delete pService;
+                    pService = NULL;
+                }
             }
         }
