From a847e626811291eddd7b9569996abf0d5d86457b Mon Sep 17 00:00:00 2001 From: Sergey Prigogin Date: Fri, 24 May 2013 14:10:48 -0700 Subject: [PATCH] Bug 408522. Filter out project_classpath variable since it may sometimes have a very large value exceeding shell limit. Change-Id: If67ca6a9b82f9c8de7d514fa236ab1a781f000d7 Reviewed-on: https://git.eclipse.org/r/13147 Reviewed-by: Marc Khouzam Reviewed-by: Sergey Prigogin IP-Clean: Sergey Prigogin Tested-by: Sergey Prigogin --- .../src/org/eclipse/cdt/dsf/gdb/launching/LaunchUtils.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/launching/LaunchUtils.java b/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/launching/LaunchUtils.java index a856769377d..02f246939f1 100644 --- a/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/launching/LaunchUtils.java +++ b/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/launching/LaunchUtils.java @@ -440,7 +440,11 @@ public class LaunchUtils { ICdtVariable[] build_vars = CCorePlugin.getDefault().getCdtVariableManager().getVariables(cfg); for (ICdtVariable var : build_vars) { try { - envMap.put(var.getName(), var.getStringValue()); + // The project_classpath variable contributed by JDT is useless for running C/C++ + // binaries, but it can be lethal if it has a very large value that exceeds shell + // limit. See http://bugs.eclipse.org/bugs/show_bug.cgi?id=408522 + if (!"project_classpath".equals(var.getName())) //$NON-NLS-1$ + envMap.put(var.getName(), var.getStringValue()); } catch (CdtVariableException e) { // Some Eclipse dynamic variables can't be resolved dynamically... we don't care. }