Steps to reproduce
- Identify your user id.
- Run the command shown below these steps
- Observe syntax error
Command (replace <your-id-here> with your id):
npm init && npm i vdf-parser && echo "require(\"vdf-parser\").parse(require(\"node:fs\").readFileSync(\"$HOME/.local/share/Steam/userdata/<your-id-here>/config/shortcuts.vdf\",\"utf-8\"))" | node
As JS file:
const fs = require("node:fs");
const vdf = require("vdf-parser");
vdf.parse(fs.readFileSync("/home/<your-user-name>/.local/share/Steam/userdata/<your-id-here>/config/shortcuts.vdf","utf-8"))
Output:
/.../node_modules/.pnpm/vdf-parser@1.2.1/node_modules/vdf-parser/main.js:114
throw new SyntaxError("VDF.parse: invalid syntax on line " + (i+1) + ":\n" + line);
^
SyntaxError: VDF.parse: invalid syntax on line 1:
shortcuts0appid�B��AppNameMO2 -SkyrimExe"/<path-here>/steamapps/compatdata/489830/pfx/drive_c/Modding/MO2/ModOrganizer.exe"StartDir
at Object.parse (/.../node_modules/.pnpm/vdf-parser@1.2.1/node_modules/vdf-parser/main.js:114:23)
at [stdin]:1:23
at Script.runInThisContext (node:vm:129:12)
at Object.runInThisContext (node:vm:307:38)
at node:internal/process/execution:79:19
at [stdin]-wrapper:6:22
at evalScript (node:internal/process/execution:78:60)
at node:internal/main/eval_stdin:30:5
at Socket.<anonymous> (node:internal/process/execution:195:5)
at Socket.emit (node:events:525:35)
Node.js v18.16.0
Additional info
The encoding is listed as data for this file. None of the available encodings in fs.readFileSync alter the behavior.
I have not manually modified this file other than the intended use of adding a non-steam game via the steam app.
Copy-pasting the file content into a string does not work due to octal sequences, escaping them returns to the initial error.
Steps to reproduce
Command (replace
<your-id-here>with your id):As JS file:
Output:
Additional info
The encoding is listed as
datafor this file. None of the available encodings infs.readFileSyncalter the behavior.I have not manually modified this file other than the intended use of adding a non-steam game via the steam app.
Copy-pasting the file content into a string does not work due to octal sequences, escaping them returns to the initial error.