X-Git-Url: https://git.ozlabs.org/?p=ccan;a=blobdiff_plain;f=ccan%2Ftdb2%2Fsummary.c;h=61d7689749caa6a37b8883439d4ba7c4bcbc524a;hp=d279131d3eec65561a9e86c3bb6e80412e7aef9b;hb=1d4d21dfb5ac43274afc125f132d196ce07f3177;hpb=7d6312518bd3a8e4cbad69b1f6b1800f7bcdf68c;ds=sidebyside diff --git a/ccan/tdb2/summary.c b/ccan/tdb2/summary.c index d279131d..61d76897 100644 --- a/ccan/tdb2/summary.c +++ b/ccan/tdb2/summary.c @@ -26,8 +26,10 @@ static int count_hash(struct tdb_context *tdb, unsigned int i, count = 0; h = tdb_access_read(tdb, hash_off, sizeof(*h) << bits, true); - if (!h) + if (TDB_PTR_IS_ERR(h)) { + tdb->ecode = TDB_PTR_ERR(h); return -1; + } for (i = 0; i < (1 << bits); i++) count += (h[i] != 0); @@ -58,8 +60,10 @@ static bool summarize(struct tdb_context *tdb, } *p; /* We might not be able to get the whole thing. */ p = tdb_access_read(tdb, off, sizeof(p->f), true); - if (!p) + if (TDB_PTR_IS_ERR(p)) { + tdb->ecode = TDB_PTR_ERR(p); return false; + } if (p->r.magic == TDB_RECOVERY_INVALID_MAGIC || p->r.magic == TDB_RECOVERY_MAGIC) { if (unc) {