microsoft / microsoft/vscode-cpptools

Text in "setupCommands" not properly escaped for XML

Offen
#6,288 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

bug debugger
Vorherrschende Sprache
TypeScript
Sterne
6.2k
Forks
1.7k
Ø Merge
14 Std. 46 Min.
Gemergte PRs (30 T.)
61

Beschreibung

Type: Debugger

Describe the bug

  • OS and Version: Windows 10 Pro (64-bit) 10.0.19041
  • Remote OS version: Ubuntu 16.04.7 LTS - Linux x64 4.19.128-microsoft-standard
  • VS Code Version: Code 1.50.0
  • C/C++ Extension Version: 1.0.1
  • Other extensions you installed (and if the issue persists after disabling them): -

Text in setupCommands in a launch configuration is not properly escaped for use in an internally generated XML.

To Reproduce

Debug the following launch configuration in launch.json:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "setup command text bug",
            "type": "cppdbg",
            "request": "launch",
            "program": "/bin/cat",
            "args": [],  // unused for demonstration purposes
            "stopAtEntry": true,
            "cwd": "/bin",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "logging": {
                "engineLogging": true
            },
            "setupCommands": [
                {
                    "text": "-exec-arguments </dev/null"
                }
            ]
        }
    ]
}

This gives the error:

Code_PwKgqFSC9x

It's possible that other similar settings like customLaunchSetupCommands exhibit the same issue.

Log:

1: (249) LaunchOptions<LocalLaunchOptions xmlns='http://schemas.microsoft.com/vstudio/MDDDebuggerOptions/2014'
1: (276) LaunchOptions  ExePath='/bin/cat'
1: (277) LaunchOptions  WorkingDirectory='/bin'
1: (277) LaunchOptions  ExeArguments=''
1: (277) LaunchOptions  MIMode='gdb'
1: (277) LaunchOptions  MIDebuggerPath=''
1: (277) LaunchOptions  WaitDynamicLibLoad='false'
1: (277) LaunchOptions>
1: (277) LaunchOptions    <SetupCommands>
1: (277) LaunchOptions        <Command IgnoreFailures='false' Description=''>-exec-arguments </dev/null</Command>
1: (277) LaunchOptions    </SetupCommands>
1: (277) LaunchOptions</LocalLaunchOptions>
1: (356) Send Event AD7MessageEvent

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne mit der Reproduktion in launch.json und der Verarbeitung von setupCommands in der VS Code C/C++ extension. Führe dann den Debugger mit dem gezeigten Befehl aus, der � enthält. Bestätige, dass das intern generierte XML wohlgeformt ist und dass der Setup-Befehl ohne Auslösen des gemeldeten launch-Fehlers durchgereicht wird.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
typescript, vscode
Bereich
devtools
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.