refs: prevent accidental NULL dereference in write_pseudoref
Several of the refs functions take NULL to indicate that the ref is not to be updated. If refs_update_ref were called with a NULL new object ID, we could pass that NULL pointer to write_pseudoref, which would then segfault when it dereferenced it. Instead, simply return successfully, since if we don't want to update the pseudoref, there's nothing to do. Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>maint
parent
ae077771b0
commit
6ee18216d8
3
refs.c
3
refs.c
|
@ -583,6 +583,9 @@ static int write_pseudoref(const char *pseudoref, const struct object_id *oid,
|
||||||
struct strbuf buf = STRBUF_INIT;
|
struct strbuf buf = STRBUF_INIT;
|
||||||
int ret = -1;
|
int ret = -1;
|
||||||
|
|
||||||
|
if (!oid)
|
||||||
|
return 0;
|
||||||
|
|
||||||
strbuf_addf(&buf, "%s\n", oid_to_hex(oid));
|
strbuf_addf(&buf, "%s\n", oid_to_hex(oid));
|
||||||
|
|
||||||
filename = git_path("%s", pseudoref);
|
filename = git_path("%s", pseudoref);
|
||||||
|
|
Loading…
Reference in New Issue