Skip to content

Commit 4d332ba

Browse files
committed
Fix Bugzilla Issue 24458 - Mac M3 associative array keys on std.net.curl gets overwritten
1 parent afb0b34 commit 4d332ba

1 file changed

Lines changed: 3 additions & 2 deletions

File tree

std/net/curl.d

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2422,6 +2422,7 @@ struct HTTP
24222422
import std.algorithm.searching : findSplit, startsWith;
24232423
import std.string : indexOf, chomp;
24242424
import std.uni : toLower;
2425+
import std.exception : assumeUnique;
24252426

24262427
// Wrap incoming callback in order to separate http status line from
24272428
// http headers. On redirected requests there may be several such
@@ -2448,9 +2449,9 @@ struct HTTP
24482449
}
24492450

24502451
auto m = header.findSplit(": ");
2451-
auto fieldName = m[0].toLower();
2452+
const(char)[] lowerFieldName = m[0].toLower();
24522453
///Fixes https://issues.dlang.org/show_bug.cgi?id=24458
2453-
fieldName = fieldName.idup;
2454+
string fieldName = lowerFieldName is m[0] ? lowerFieldName.idup : assumeUnique(lowerFieldName);
24542455
auto fieldContent = m[2].chomp;
24552456
if (fieldName == "content-type")
24562457
{

0 commit comments

Comments
 (0)