From: Brian Behlendorf Date: Tue, 3 Jul 2012 21:47:57 +0000 (-0700) Subject: Update incorrect ddt_zap_lookup() assertion X-Git-Url: https://git.camperquake.de/gitweb.cgi?a=commitdiff_plain;h=42d3b990cfba9906e25bbf6b60e96389244f8082;p=zfs.git Update incorrect ddt_zap_lookup() assertion When the ddt_zap_lookup() function was updated to dynamically allocate memory for the cbuf variable, to save stack space, the 'csize <= sizeof (cbuf)' assertion was not updated. The result of this was that the size of the pointer was being used in the comparison rather than the buffer size. Signed-off-by: Brian Behlendorf Signed-off-by: Prakash Surya --- diff --git a/module/zfs/ddt_zap.c b/module/zfs/ddt_zap.c index 280bff3..6fb6ea2 100644 --- a/module/zfs/ddt_zap.c +++ b/module/zfs/ddt_zap.c @@ -70,7 +70,7 @@ ddt_zap_lookup(objset_t *os, uint64_t object, ddt_entry_t *dde) goto out; ASSERT(one == 1); - ASSERT(csize <= sizeof (cbuf)); + ASSERT(csize <= (sizeof (dde->dde_phys) + 1)); error = zap_lookup_uint64(os, object, (uint64_t *)&dde->dde_key, DDT_KEY_WORDS, 1, csize, cbuf);