From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:59325) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bL53m-0000S3-2H for qemu-devel@nongnu.org; Thu, 07 Jul 2016 04:53:27 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bL53h-00058i-Ox for qemu-devel@nongnu.org; Thu, 07 Jul 2016 04:53:25 -0400 From: Alberto Garcia In-Reply-To: <1467715800-20379-2-git-send-email-berrange@redhat.com> References: <1467715800-20379-1-git-send-email-berrange@redhat.com> <1467715800-20379-2-git-send-email-berrange@redhat.com> Date: Thu, 07 Jul 2016 10:52:43 +0200 Message-ID: MIME-Version: 1.0 Content-Type: text/plain Subject: Re: [Qemu-devel] [PATCH v1 1/2] crypto: use glib as fallback for hash algorithm List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "Daniel P. Berrange" , qemu-devel@nongnu.org Cc: qemu-block@nongnu.org, Kevin Wolf , Fam Zheng , Max Reitz On Tue 05 Jul 2016 12:49:59 PM CEST, "Daniel P. Berrange" wrote: > + cs = g_checksum_new(qcrypto_hash_alg_map[alg]); > + > + for (i = 0; i < niov; i++) { > + g_checksum_update(cs, iov[i].iov_base, iov[i].iov_len); > + } Not too important, but you could do this after checking the hash length and the buffer size. You don't need to create or feed the GChecksum first for those, and that way you would also get rid of the 'goto error'. Either way, Reviewed-by: Alberto Garcia > + ret = g_checksum_type_get_length(qcrypto_hash_alg_map[alg]); > + if (ret < 0) { > + error_setg(errp, "%s", > + "Unable to get hash length"); > + goto error; > + } > + if (*resultlen == 0) { > + *resultlen = ret; > + *result = g_new0(uint8_t, *resultlen); > + } else if (*resultlen != ret) { > + error_setg(errp, > + "Result buffer size %zu is smaller than hash %d", > + *resultlen, ret); > + goto error; > + } > + > + g_checksum_get_digest(cs, *result, resultlen); > + > + g_checksum_free(cs); > + return 0; > + > + error: > + g_checksum_free(cs); > + return -1; > +} Berto