diff options
author | cparsons <cparsons@google.com> | 2018-02-08 09:23:47 -0800 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-02-08 09:25:56 -0800 |
commit | 0589fdfd42657e4b452538fa40d1a9e5d31a30fd (patch) | |
tree | d1c6a053e816f513d866905fee313fae50061357 /src/main | |
parent | b46feb0c359bfca90738b4ac9af9b176d9b39156 (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
Diffstat (limited to 'src/main')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/objc/ProtobufSupport.java | 2 |
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()); } |