[PATCH v2 3/9] ref_transaction_update(): die on disallowed flags
- From
Michael Haggerty <mhagger@alum.mit.edu>
- Date
- Nov 5, 2017, 08:42 UTC
- Message-ID
- <10901328af1e6e04e8c7c7b39977ec85f6c58142.1509870243.git.mhagger@alum.mit.edu>
- In-Reply-To
- <cover.1509870243.git.mhagger@alum.mit.edu>
Callers shouldn't be passing disallowed flags into `ref_transaction_update()`. So instead of masking them off, treat it as a bug if any are set.
Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu> --- refs.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/refs.c b/refs.c index 62a7621025..7c1e206e08 100644 --- a/refs.c +++ b/refs.c @@ -940,7 +940,8 @@ int ref_transaction_update(struct ref_transaction *transaction, return -1; } - flags &= REF_TRANSACTION_UPDATE_ALLOWED_FLAGS; + if (flags & ~REF_TRANSACTION_UPDATE_ALLOWED_FLAGS) + BUG("illegal flags 0x%x passed to ref_transaction_update()", flags); flags |= (new_oid ? REF_HAVE_NEW : 0) | (old_oid ? REF_HAVE_OLD : 0);
-- 2.14.1