aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar cparsons <cparsons@google.com>2018-02-08 09:23:47 -0800
committerGravatar Copybara-Service <copybara-piper@google.com>2018-02-08 09:25:56 -0800
commit0589fdfd42657e4b452538fa40d1a9e5d31a30fd (patch)
treed1c6a053e816f513d866905fee313fae50061357
parentb46feb0c359bfca90738b4ac9af9b176d9b39156 (diff)
Avoid integer overflow breaking protobuf artifact ordering.
An integer overflow caused by taking the difference between two hashcodes would result in nondeterministically having sortedCopy fail. Integer.compare is safer. RELNOTES: None. PiperOrigin-RevId: 185005542
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/ProtobufSupport.java2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/ProtobufSupport.java b/src/main/java/com/google/devtools/build/lib/rules/objc/ProtobufSupport.java
index 1d046dfafb..1a7e1e28f6 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/ProtobufSupport.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/ProtobufSupport.java
@@ -382,7 +382,7 @@ final class ProtobufSupport {
return new Ordering<ImmutableSet<Artifact>>() {
@Override
public int compare(ImmutableSet<Artifact> o1, ImmutableSet<Artifact> o2) {
- return o1.hashCode() - o2.hashCode();
+ return Integer.compare(o1.hashCode(), o2.hashCode());
}
}.sortedCopy(inputsToOutputsMap.keySet());
}