refs/files-backend: correct return value in lock_ref_for_update
authorMartin Ågren <martin.agren@gmail.com>
Sat, 9 Sep 2017 06:57:17 +0000 (08:57 +0200)
committerJunio C Hamano <gitster@pobox.com>
Sun, 10 Sep 2017 07:36:58 +0000 (16:36 +0900)
In one code path we return a literal -1 and not a symbolic constant. The
value -1 would be interpreted as TRANSACTION_NAME_CONFLICT, which is
wrong. Use TRANSACTION_GENERIC_ERROR instead (that is the only other
return value we have to choose from).

Noticed-by: Michael Haggerty <mhagger@alum.mit.edu>
Reviewed-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Martin Ågren <martin.agren@gmail.com>
Reviewed-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
refs/files-backend.c
index 3d636396654129cc576976db4b712071c24f460d..03df002759a37a9c68be433fc353b1651506e7c4 100644 (file)
@@ -2801,7 +2801,7 @@ static int lock_ref_for_update(struct files_ref_store *refs,
                                        strbuf_addf(err, "cannot lock ref '%s': "
                                                    "error reading reference",
                                                    original_update_refname(update));
-                                       ret = -1;
+                                       ret = TRANSACTION_GENERIC_ERROR;
                                        goto out;
                                }
                        } else if (check_old_oid(update, &lock->old_oid, err)) {