Index: /trunk/src/VBox/Main/src-client/GuestProcessImpl.cpp
===================================================================
--- /trunk/src/VBox/Main/src-client/GuestProcessImpl.cpp	(revision 84260)
+++ /trunk/src/VBox/Main/src-client/GuestProcessImpl.cpp	(revision 84261)
@@ -1063,14 +1063,4 @@
         return VERR_BUFFER_OVERFLOW;
 
-    Guest *pGuest = mSession->i_getParent();
-    AssertPtr(pGuest);
-
-    const uint64_t fGuestControlFeatures0 = pGuest->i_getGuestControlFeatures0();
-
-    /* If the guest does not support dynamic sizes, make sure that we check limits here. */
-    if (   !(fGuestControlFeatures0 & VBOX_GUESTCTRL_GF_0_PROCESS_DYNAMIC_SIZES)
-        &&  mData.mProcess.mExecutable.length() + 1 /* Include termination */ > GUESTPROCESS_DEFAULT_CMD_LEN)
-        return VERR_BUFFER_OVERFLOW;
-
     size_t cbArgs = 0;
     char *pszArgs = NULL;
@@ -1087,4 +1077,9 @@
         }
         papszArgv[cArgs] = NULL;
+
+        Guest *pGuest = mSession->i_getParent();
+        AssertPtr(pGuest);
+
+        const uint64_t fGuestControlFeatures0 = pGuest->i_getGuestControlFeatures0();
 
         /* If the Guest Additions don't support using argv[0] correctly (< 6.1.x), don't supply it. */
@@ -1099,30 +1094,14 @@
 
         /* Note! No direct returns after this. */
-
-        /* Calculate arguments size (in bytes). */
-        AssertPtr(pszArgs);
-        cbArgs = strlen(pszArgs) + 1; /* Include terminating zero. */
-
-        /* If the guest does not support dynamic sizes, make sure that we check limits here. */
-        if (   !(fGuestControlFeatures0 & VBOX_GUESTCTRL_GF_0_PROCESS_DYNAMIC_SIZES)
-            && cbArgs > GUESTPROCESS_DEFAULT_ARGS_LEN)
-        {
-            vrc = VERR_BUFFER_OVERFLOW;
-        }
-    }
+    }
+
+    /* Calculate arguments size (in bytes). */
+    AssertPtr(pszArgs);
+    cbArgs = strlen(pszArgs) + 1; /* Include terminating zero. */
 
     /* Prepare environment.  The guest service dislikes the empty string at the end, so drop it. */
     size_t  cbEnvBlock   = 0;    /* Shut up MSVC. */
     char   *pszzEnvBlock = NULL; /* Ditto. */
-    if (RT_SUCCESS(vrc))
-        vrc = mData.mProcess.mEnvironmentChanges.queryUtf8Block(&pszzEnvBlock, &cbEnvBlock);
-    if (RT_SUCCESS(vrc))
-    {
-        /* If the guest does not support dynamic sizes, make sure that we check limits here. */
-        if (   !(fGuestControlFeatures0 & VBOX_GUESTCTRL_GF_0_PROCESS_DYNAMIC_SIZES)
-            && cbEnvBlock > GUESTPROCESS_DEFAULT_ENV_LEN)
-            vrc = VERR_BUFFER_OVERFLOW;
-    }
-
+    vrc = mData.mProcess.mEnvironmentChanges.queryUtf8Block(&pszzEnvBlock, &cbEnvBlock);
     if (RT_SUCCESS(vrc))
     {
@@ -1178,10 +1157,6 @@
             AssertRC(rc2);
         }
-    }
-
-    if (pszzEnvBlock)
-    {
+
         mData.mProcess.mEnvironmentChanges.freeUtf8Block(pszzEnvBlock);
-        pszzEnvBlock = NULL;
     }
 
