Skip to content

Commit

Permalink
src: fix env-file flag to ignore spaces before quotes
Browse files Browse the repository at this point in the history
Fix to ignore spaces between '=' and quoted string in env file to avoid quotes in env values

Fixes: #53461

Signed-off-by: Mohit Malhotra <dev.mohitmalhotra@gmail.com>
  • Loading branch information
MOHIT51196 committed Jul 9, 2024
1 parent 307430e commit 75a5ae1
Show file tree
Hide file tree
Showing 3 changed files with 5 additions and 1 deletion.
3 changes: 2 additions & 1 deletion src/node_dotenv.cc
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,8 @@ void Dotenv::ParseContent(const std::string_view input) {
key = content.substr(0, equal);
content.remove_prefix(equal + 1);
key = trim_spaces(key);

content = trim_spaces(content);

if (key.empty()) {
break;
}
Expand Down
1 change: 1 addition & 0 deletions test/fixtures/dotenv/valid.env
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ RETAIN_INNER_QUOTES={"foo": "bar"}
RETAIN_INNER_QUOTES_AS_STRING='{"foo": "bar"}'
RETAIN_INNER_QUOTES_AS_BACKTICKS=`{"foo": "bar's"}`
TRIM_SPACE_FROM_UNQUOTED= some spaced out string
SPACE_BEFORE_DOUBLE_QUOTES= "space before double quotes"
EMAIL=therealnerdybeast@example.tld
SPACED_KEY = parsed
EDGE_CASE_INLINE_COMMENTS="VALUE1" # or "VALUE2" or "VALUE3"
Expand Down
2 changes: 2 additions & 0 deletions test/parallel/test-dotenv.js
Original file line number Diff line number Diff line change
Expand Up @@ -80,3 +80,5 @@ assert.strictEqual(process.env.DONT_EXPAND_UNQUOTED, 'dontexpand\\nnewlines');
assert.strictEqual(process.env.DONT_EXPAND_SQUOTED, 'dontexpand\\nnewlines');
// Ignore export before key
assert.strictEqual(process.env.EXPORT_EXAMPLE, 'ignore export');
// Ignore spaces before double quotes to avoid quoted strings as value
assert.strictEqual(process.env.SPACE_BEFORE_DOUBLE_QUOTES, 'space before double quotes');

0 comments on commit 75a5ae1

Please sign in to comment.