[PATCH 2/7] odb/source-inmemory: signal missing objects via positive return
Patrick Steinhardt <[email protected]>
| Newsgroups | org.kernel.vger.git |
|---|---|
| Message-ID | <20260818-pks-odb-generic-corrupt-objects-v1-2-ec234567510f@pks.im> |
The in-memory source returns a negative value from its `read_object_info()` callback when the object in question does not exist. Adapt the callback to return a positive value for missing objects according to the new calling convention. Signed-off-by: Patrick Steinhardt <[email protected]> --- odb/source-inmemory.c | 2 +- t/unit-tests/u-odb-inmemory.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/odb/source-inmemory.c b/odb/source-inmemory.c index 3e71611b8e..57183daf4d 100644 --- a/odb/source-inmemory.c +++ b/odb/source-inmemory.c @@ -66,7 +66,7 @@ static int odb_source_inmemory_read_object_info(struct odb_source *source, object = find_cached_object(inmemory, oid); if (!object) - return -1; + return 1; populate_object_info(inmemory, oi, object); return 0; diff --git a/t/unit-tests/u-odb-inmemory.c b/t/unit-tests/u-odb-inmemory.c index ddf2db5c81..93b3f38dab 100644 --- a/t/unit-tests/u-odb-inmemory.c +++ b/t/unit-tests/u-odb-inmemory.c @@ -72,7 +72,7 @@ void test_odb_inmemory__read_missing_object(void) const char *end; cl_must_pass(parse_oid_hex_algop(RANDOM_OID, &oid, &end, repo.hash_algo)); - cl_must_fail(odb_source_read_object_info(&source->base, &oid, NULL, 0)); + cl_assert(odb_source_read_object_info(&source->base, &oid, NULL, 0) > 0); odb_source_free(&source->base); } -- 2.55.0.822.g20453c30eb.dirty