From: Ryan Lortie Date: Thu, 24 Jun 2010 04:35:10 +0000 (-0400) Subject: GChecksum: accept NULL pointer with length 0 X-Git-Tag: 2.25.10~11 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=fb94e65a640d21b2e1a5c6e79eb3d755ba34c0e6;p=platform%2Fupstream%2Fglib.git GChecksum: accept NULL pointer with length 0 Several GChecksum functions were incorrectly aborting when passed a NULL data pointer, even if the length parameter was equal to zero. --- diff --git a/glib/gchecksum.c b/glib/gchecksum.c index ad90727..4b9ff94 100644 --- a/glib/gchecksum.c +++ b/glib/gchecksum.c @@ -1240,7 +1240,7 @@ g_checksum_update (GChecksum *checksum, gssize length) { g_return_if_fail (checksum != NULL); - g_return_if_fail (data != NULL); + g_return_if_fail (length == 0 || data != NULL); if (length < 0) length = strlen ((const gchar *) data); @@ -1415,7 +1415,7 @@ g_compute_checksum_for_data (GChecksumType checksum_type, gchar *retval; g_return_val_if_fail (IS_VALID_TYPE (checksum_type), NULL); - g_return_val_if_fail (data != NULL, NULL); + g_return_val_if_fail (length == 0 || data != NULL, NULL); checksum = g_checksum_new (checksum_type); if (!checksum) @@ -1449,7 +1449,7 @@ g_compute_checksum_for_string (GChecksumType checksum_type, gssize length) { g_return_val_if_fail (IS_VALID_TYPE (checksum_type), NULL); - g_return_val_if_fail (str != NULL, NULL); + g_return_val_if_fail (length == 0 || str != NULL, NULL); if (length < 0) length = strlen (str);