aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Fick <mfick@codeaurora.org>2011-08-29 15:09:03 -0700
committerAndroid Code Review <code-review@android.com>2011-08-29 15:09:04 -0700
commitceaff8e3f183d48ce333730a7fcddce4a1e1eac4 (patch)
tree29f5d9e674403bdd864fc23931890e53b3f84de9
parent2ad3f98e21c3417135f74473a23425677d0e43e5 (diff)
parent0be6d247503f0a507dda5f97fabc50582103f596 (diff)
downloadgerrit-master.tar.gz
Merge "Don't allow commit_delta to access commit message"HEADmaster
-rw-r--r--gerrit-server/src/main/java/gerrit/PRED_commit_delta_4.java12
1 files changed, 8 insertions, 4 deletions
diff --git a/gerrit-server/src/main/java/gerrit/PRED_commit_delta_4.java b/gerrit-server/src/main/java/gerrit/PRED_commit_delta_4.java
index cd2f5c7b..4a9c71ba 100644
--- a/gerrit-server/src/main/java/gerrit/PRED_commit_delta_4.java
+++ b/gerrit-server/src/main/java/gerrit/PRED_commit_delta_4.java
@@ -101,12 +101,16 @@ public class PRED_commit_delta_4 extends Predicate.P4 {
Pattern regex = (Pattern)((JavaObjectTerm)a1).object();
Iterator<PatchListEntry> iter =
(Iterator<PatchListEntry>)((JavaObjectTerm)a5).object();
- if (iter.hasNext()) {
+ while (iter.hasNext()) {
PatchListEntry patch = iter.next();
String newName = patch.getNewName();
String oldName = patch.getOldName();
Patch.ChangeType changeType = patch.getChangeType();
+ if (newName.equals("/COMMIT_MSG")) {
+ continue;
+ }
+
if (regex.matcher(newName).matches() ||
(oldName != null && regex.matcher(oldName).matches())) {
SymbolTerm changeSym = getTypeSymbol(changeType);
@@ -117,13 +121,13 @@ public class PRED_commit_delta_4 extends Predicate.P4 {
}
if (!a2.unify(changeSym, engine.trail)) {
- return engine.fail();
+ continue;
}
if (!a3.unify(newSym, engine.trail)) {
- return engine.fail();
+ continue;
}
if (!a4.unify(oldSym, engine.trail)) {
- return engine.fail();
+ continue;
}
return engine.cont;
}