aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Tsay <jasontsay@google.com>2011-07-15 14:16:43 -0700
committerJason Tsay <jasontsay@google.com>2011-08-17 12:01:27 -0700
commit0be6d247503f0a507dda5f97fabc50582103f596 (patch)
treecacccc0514e3061d7bbe4d0330a89b0480d221e4
parent3f41a0ad0aba7cc09c5eed0d4ba8795fb6ff3fbb (diff)
downloadgerrit-0be6d247503f0a507dda5f97fabc50582103f596.tar.gz
Don't allow commit_delta to access commit message
Change-Id: I393efae8ecb51f442a7f2be7bf37edcfd619fb4e
-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;
}