Skip to content

Commit 0b82956

Browse files
authored
Do not send null or empty values (#5128)
1 parent 8721f67 commit 0b82956

File tree

2 files changed

+13
-5
lines changed

2 files changed

+13
-5
lines changed

src/WebJobs.Script/OutOfProc/Rpc/LanguageWorkerChannel.cs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -225,7 +225,11 @@ internal FunctionEnvironmentReloadRequest GetFunctionEnvironmentReloadRequest(ID
225225
FunctionEnvironmentReloadRequest request = new FunctionEnvironmentReloadRequest();
226226
foreach (DictionaryEntry entry in processEnv)
227227
{
228-
request.EnvironmentVariables.Add(entry.Key.ToString(), entry.Value.ToString());
228+
// Do not add environment variables with empty or null values (see issue #4488 for context)
229+
if (!string.IsNullOrEmpty(entry.Value?.ToString()))
230+
{
231+
request.EnvironmentVariables.Add(entry.Key.ToString(), entry.Value.ToString());
232+
}
229233
}
230234
return request;
231235
}

test/WebJobs.Script.Tests/Rpc/LanguageWorkerChannelTests.cs

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -214,10 +214,14 @@ public async Task SendSendFunctionEnvironmentReloadRequest_ThrowsTimeout()
214214
[Fact]
215215
public void SendSendFunctionEnvironmentReloadRequest_SanitizedEnvironmentVariables()
216216
{
217-
Environment.SetEnvironmentVariable("TestNull", null);
218-
Environment.SetEnvironmentVariable("TestEmpty", string.Empty);
219-
Environment.SetEnvironmentVariable("TestValid", "TestValue");
220-
FunctionEnvironmentReloadRequest envReloadRequest = _workerChannel.GetFunctionEnvironmentReloadRequest(Environment.GetEnvironmentVariables());
217+
var environmentVariables = new Dictionary<string, string>()
218+
{
219+
{ "TestNull", null },
220+
{ "TestEmpty", string.Empty },
221+
{ "TestValid", "TestValue" }
222+
};
223+
224+
FunctionEnvironmentReloadRequest envReloadRequest = _workerChannel.GetFunctionEnvironmentReloadRequest(environmentVariables);
221225
Assert.False(envReloadRequest.EnvironmentVariables.ContainsKey("TestNull"));
222226
Assert.False(envReloadRequest.EnvironmentVariables.ContainsKey("TestEmpty"));
223227
Assert.True(envReloadRequest.EnvironmentVariables.ContainsKey("TestValid"));

0 commit comments

Comments
 (0)