Andrew's git
/
gitweb.git
/ diff
summary
|
log
|
commit
| diff |
tree
commit
grep
author
committer
pickaxe
?
re
ref_update_reject_duplicates(): add a sanity check
author
Michael Haggerty
<mhagger@alum.mit.edu>
Mon, 22 May 2017 14:17:47 +0000
(16:17 +0200)
committer
Junio C Hamano
<gitster@pobox.com>
Tue, 23 May 2017 05:29:55 +0000
(14:29 +0900)
It's pretty cheap to make sure that the caller didn't pass us an
unsorted list by accident, so do so.
Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
refs.c
patch
|
blob
|
history
raw
|
patch
|
inline
| side by side (parent:
a552e50
)
diff --git
a/refs.c
b/refs.c
index 143936a9c3e5a5db1c41f9c8923c0f05cd99f365..d1c781d94e145d42bec898b3cffb81cfdf97949b 100644
(file)
--- a/
refs.c
+++ b/
refs.c
@@
-1709,13
+1709,19
@@
int ref_update_reject_duplicates(struct string_list *refnames,
assert(err);
assert(err);
- for (i = 1; i < n; i++)
- if (!strcmp(refnames->items[i - 1].string, refnames->items[i].string)) {
+ for (i = 1; i < n; i++) {
+ int cmp = strcmp(refnames->items[i - 1].string,
+ refnames->items[i].string);
+
+ if (!cmp) {
strbuf_addf(err,
"multiple updates for ref '%s' not allowed.",
refnames->items[i].string);
return 1;
strbuf_addf(err,
"multiple updates for ref '%s' not allowed.",
refnames->items[i].string);
return 1;
+ } else if (cmp > 0) {
+ die("BUG: ref_update_reject_duplicates() received unsorted list");
}
}
+ }
return 0;
}
return 0;
}