Skip to content

Commit b84f3a9

Browse files
bazel-iofmeum
andauthored
[7.4.1] Fix double encoding of inputs in worker request (#24123)
Since `WorkRequest` encodes strings as UTF-8, Bazel's internal string encoding of file paths needs to be undone before passing them to the protobuf builder. Closes #23924. PiperOrigin-RevId: 690737819 Change-Id: I3eb341c05e045c75ac004da57e1f46f3587a6810 Commit 89f798e Co-authored-by: Fabian Meumertzheim <[email protected]>
1 parent 4aea479 commit b84f3a9

File tree

2 files changed

+6
-1
lines changed

2 files changed

+6
-1
lines changed

src/main/java/com/google/devtools/build/lib/worker/BUILD

+1
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ java_library(
7070
"//src/main/java/com/google/devtools/build/lib/exec/local",
7171
"//src/main/java/com/google/devtools/build/lib/profiler",
7272
"//src/main/java/com/google/devtools/build/lib/sandbox:sandbox_helpers",
73+
"//src/main/java/com/google/devtools/build/lib/util:string",
7374
"//src/main/java/com/google/devtools/build/lib/util/io",
7475
"//src/main/java/com/google/devtools/build/lib/vfs",
7576
"//src/main/java/com/google/devtools/build/lib/vfs:pathfragment",

src/main/java/com/google/devtools/build/lib/worker/WorkerSpawnRunner.java

+5-1
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
package com.google.devtools.build.lib.worker;
1616

1717
import static com.google.common.base.Preconditions.checkNotNull;
18+
import static com.google.devtools.build.lib.util.StringUtil.decodeBytestringUtf8;
1819
import static java.nio.charset.StandardCharsets.UTF_8;
1920

2021
import com.google.common.base.Stopwatch;
@@ -262,7 +263,10 @@ private WorkRequest createWorkRequest(
262263
digest = ByteString.copyFromUtf8(HashCode.fromBytes(digestBytes).toString());
263264
}
264265

265-
requestBuilder.addInputsBuilder().setPath(input.getExecPathString()).setDigest(digest);
266+
requestBuilder
267+
.addInputsBuilder()
268+
.setPath(decodeBytestringUtf8(input.getExecPathString()))
269+
.setDigest(digest);
266270
}
267271
if (workerOptions.workerVerbose) {
268272
requestBuilder.setVerbosity(VERBOSE_LEVEL);

0 commit comments

Comments
 (0)