mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2024-12-25 15:06:14 +01:00
Accept short data
svn path=/trunk/; revision=7625
This commit is contained in:
parent
b616e892ca
commit
c6404e8329
@ -1,3 +1,10 @@
|
|||||||
|
2008-10-23 Matthias Clasen <mclasen@redhat.com>
|
||||||
|
|
||||||
|
* glib/gchecksum.c (g_compute_checksum_for_data): Accept
|
||||||
|
lengths < 2. Patch by Tommi Komulainen
|
||||||
|
|
||||||
|
* tests/checksum-test.c: Add a test for this
|
||||||
|
|
||||||
2008-10-23 Matthias Clasen <mclasen@redhat.com>
|
2008-10-23 Matthias Clasen <mclasen@redhat.com>
|
||||||
|
|
||||||
Bug 556921 – gpoll.h breaks hal compilation
|
Bug 556921 – gpoll.h breaks hal compilation
|
||||||
|
@ -1389,7 +1389,6 @@ g_compute_checksum_for_data (GChecksumType checksum_type,
|
|||||||
|
|
||||||
g_return_val_if_fail (IS_VALID_TYPE (checksum_type), NULL);
|
g_return_val_if_fail (IS_VALID_TYPE (checksum_type), NULL);
|
||||||
g_return_val_if_fail (data != NULL, NULL);
|
g_return_val_if_fail (data != NULL, NULL);
|
||||||
g_return_val_if_fail (length > 1, NULL);
|
|
||||||
|
|
||||||
checksum = g_checksum_new (checksum_type);
|
checksum = g_checksum_new (checksum_type);
|
||||||
if (!checksum)
|
if (!checksum)
|
||||||
|
@ -617,11 +617,45 @@ test_checksum (GChecksumType checksum_type,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
test_checksum_string (GChecksumType checksum_type,
|
||||||
|
const gchar *type,
|
||||||
|
const gchar **sums)
|
||||||
|
{
|
||||||
|
int length;
|
||||||
|
|
||||||
|
for (length = 0; length <= FIXED_LEN; length++)
|
||||||
|
{
|
||||||
|
const char *expected = sums[length];
|
||||||
|
char *checksum;
|
||||||
|
|
||||||
|
checksum = g_compute_checksum_for_string (checksum_type,
|
||||||
|
FIXED_STR,
|
||||||
|
length);
|
||||||
|
if (strcmp (checksum, expected) != 0)
|
||||||
|
{
|
||||||
|
g_print ("Invalid %s checksum for `%.*s' (length %d):\n"
|
||||||
|
"%s (expecting: %s)\n",
|
||||||
|
type,
|
||||||
|
length, FIXED_STR, length,
|
||||||
|
checksum,
|
||||||
|
expected);
|
||||||
|
exit (1);
|
||||||
|
}
|
||||||
|
|
||||||
|
g_free (checksum);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#define test(type, length) test_checksum (G_CHECKSUM_##type, \
|
#define test(type, length) test_checksum (G_CHECKSUM_##type, \
|
||||||
#type, \
|
#type, \
|
||||||
type##_sums[length], \
|
type##_sums[length], \
|
||||||
length)
|
length)
|
||||||
|
|
||||||
|
#define test_string(type) test_checksum_string (G_CHECKSUM_##type, \
|
||||||
|
#type, \
|
||||||
|
type##_sums)
|
||||||
|
|
||||||
int
|
int
|
||||||
main (int argc, char *argv[])
|
main (int argc, char *argv[])
|
||||||
{
|
{
|
||||||
@ -634,5 +668,9 @@ main (int argc, char *argv[])
|
|||||||
test (SHA256, length);
|
test (SHA256, length);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
test_string (MD5);
|
||||||
|
test_string (SHA1);
|
||||||
|
test_string (SHA256);
|
||||||
|
|
||||||
return EXIT_SUCCESS;
|
return EXIT_SUCCESS;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user