diff options
author | Christian Grothoff <christian@grothoff.org> | 2010-01-18 16:00:03 +0000 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2010-01-18 16:00:03 +0000 |
commit | ec4bcf7f589b285e5194394d1d72257ad25d4dd1 (patch) | |
tree | 8ba969f8c449b2f72cadaeb7c15e9121c2bde7e8 /src/util | |
parent | 13d33fdf12293f614db6fa08026c321be2989c95 (diff) | |
download | gnunet-ec4bcf7f589b285e5194394d1d72257ad25d4dd1.tar.gz gnunet-ec4bcf7f589b285e5194394d1d72257ad25d4dd1.zip |
misc fixes
Diffstat (limited to 'src/util')
-rw-r--r-- | src/util/container_meta_data.c | 14 | ||||
-rw-r--r-- | src/util/test_container_heap.c | 2 | ||||
-rw-r--r-- | src/util/test_container_meta_data.c | 1 |
3 files changed, 13 insertions, 4 deletions
diff --git a/src/util/container_meta_data.c b/src/util/container_meta_data.c index 82847f7af..fadb0dede 100644 --- a/src/util/container_meta_data.c +++ b/src/util/container_meta_data.c | |||
@@ -519,7 +519,8 @@ GNUNET_CONTAINER_meta_data_get_thumbnail (const struct | |||
519 | } | 519 | } |
520 | pos = pos->next; | 520 | pos = pos->next; |
521 | } | 521 | } |
522 | if (match == NULL) | 522 | if ( (match == NULL) || |
523 | (match->data_size == 0) ) | ||
523 | return 0; | 524 | return 0; |
524 | *thumb = GNUNET_malloc (match->data_size); | 525 | *thumb = GNUNET_malloc (match->data_size); |
525 | memcpy (*thumb, match->data, match->data_size); | 526 | memcpy (*thumb, match->data, match->data_size); |
@@ -855,9 +856,11 @@ GNUNET_CONTAINER_meta_data_serialize (const struct GNUNET_CONTAINER_MetaData | |||
855 | off -= pos->data_size; | 856 | off -= pos->data_size; |
856 | memcpy (&mdata[off], pos->data, pos->data_size); | 857 | memcpy (&mdata[off], pos->data, pos->data_size); |
857 | off -= plen; | 858 | off -= plen; |
858 | memcpy (&mdata[off], pos->plugin_name, plen); | 859 | if (pos->plugin_name != NULL) |
860 | memcpy (&mdata[off], pos->plugin_name, plen); | ||
859 | off -= mlen; | 861 | off -= mlen; |
860 | memcpy (&mdata[off], pos->mime_type, mlen); | 862 | if (pos->mime_type != NULL) |
863 | memcpy (&mdata[off], pos->mime_type, mlen); | ||
861 | i++; | 864 | i++; |
862 | pos = pos->next; | 865 | pos = pos->next; |
863 | } | 866 | } |
@@ -866,6 +869,7 @@ GNUNET_CONTAINER_meta_data_serialize (const struct GNUNET_CONTAINER_MetaData | |||
866 | clen = 0; | 869 | clen = 0; |
867 | cdata = NULL; | 870 | cdata = NULL; |
868 | left = size; | 871 | left = size; |
872 | pos = md->items; | ||
869 | for (i=0;i<md->item_count;i++) | 873 | for (i=0;i<md->item_count;i++) |
870 | { | 874 | { |
871 | comp = GNUNET_NO; | 875 | comp = GNUNET_NO; |
@@ -887,6 +891,7 @@ GNUNET_CONTAINER_meta_data_serialize (const struct GNUNET_CONTAINER_MetaData | |||
887 | hdr->entries = htonl (md->item_count); | 891 | hdr->entries = htonl (md->item_count); |
888 | if (GNUNET_YES == comp) | 892 | if (GNUNET_YES == comp) |
889 | { | 893 | { |
894 | GNUNET_assert (clen < left); | ||
890 | hdr->version = htonl (2 | HEADER_COMPRESSED); | 895 | hdr->version = htonl (2 | HEADER_COMPRESSED); |
891 | memcpy (&hdr[1], | 896 | memcpy (&hdr[1], |
892 | cdata, | 897 | cdata, |
@@ -960,7 +965,8 @@ GNUNET_CONTAINER_meta_data_serialize (const struct GNUNET_CONTAINER_MetaData | |||
960 | if (pos->plugin_name != NULL) | 965 | if (pos->plugin_name != NULL) |
961 | left -= strlen (pos->plugin_name) + 1; | 966 | left -= strlen (pos->plugin_name) + 1; |
962 | if (pos->mime_type != NULL) | 967 | if (pos->mime_type != NULL) |
963 | left -= strlen (pos->mime_type) + 1; | 968 | left -= strlen (pos->mime_type) + 1; |
969 | pos = pos->next; | ||
964 | } | 970 | } |
965 | GNUNET_free (ent); | 971 | GNUNET_free (ent); |
966 | 972 | ||
diff --git a/src/util/test_container_heap.c b/src/util/test_container_heap.c index b6e5f642a..b24624ad8 100644 --- a/src/util/test_container_heap.c +++ b/src/util/test_container_heap.c | |||
@@ -51,6 +51,7 @@ check () | |||
51 | 51 | ||
52 | myHeap = GNUNET_CONTAINER_heap_create (GNUNET_CONTAINER_HEAP_ORDER_MIN); | 52 | myHeap = GNUNET_CONTAINER_heap_create (GNUNET_CONTAINER_HEAP_ORDER_MIN); |
53 | n1 = GNUNET_CONTAINER_heap_insert (myHeap, "11", 11); | 53 | n1 = GNUNET_CONTAINER_heap_insert (myHeap, "11", 11); |
54 | GNUNET_assert (NULL != n1); | ||
54 | GNUNET_CONTAINER_heap_iterate (myHeap, &iterator_callback, NULL); | 55 | GNUNET_CONTAINER_heap_iterate (myHeap, &iterator_callback, NULL); |
55 | GNUNET_assert (1 == GNUNET_CONTAINER_heap_get_size (myHeap)); | 56 | GNUNET_assert (1 == GNUNET_CONTAINER_heap_get_size (myHeap)); |
56 | n2 = GNUNET_CONTAINER_heap_insert (myHeap, "78", 78); | 57 | n2 = GNUNET_CONTAINER_heap_insert (myHeap, "78", 78); |
@@ -66,6 +67,7 @@ check () | |||
66 | GNUNET_CONTAINER_heap_iterate (myHeap, &iterator_callback, NULL); | 67 | GNUNET_CONTAINER_heap_iterate (myHeap, &iterator_callback, NULL); |
67 | 68 | ||
68 | n4 = GNUNET_CONTAINER_heap_insert (myHeap, "50", 50); | 69 | n4 = GNUNET_CONTAINER_heap_insert (myHeap, "50", 50); |
70 | GNUNET_CONTAINER_heap_update_cost (myHeap, n4, 0); | ||
69 | GNUNET_assert (3 == GNUNET_CONTAINER_heap_get_size (myHeap)); | 71 | GNUNET_assert (3 == GNUNET_CONTAINER_heap_get_size (myHeap)); |
70 | GNUNET_CONTAINER_heap_iterate (myHeap, &iterator_callback, NULL); | 72 | GNUNET_CONTAINER_heap_iterate (myHeap, &iterator_callback, NULL); |
71 | 73 | ||
diff --git a/src/util/test_container_meta_data.c b/src/util/test_container_meta_data.c index 2cf3f2a09..b6196da14 100644 --- a/src/util/test_container_meta_data.c +++ b/src/util/test_container_meta_data.c | |||
@@ -262,6 +262,7 @@ testThumbnail () | |||
262 | EXTRACTOR_plugin_remove_all (ex); | 262 | EXTRACTOR_plugin_remove_all (ex); |
263 | d = GNUNET_CONTAINER_meta_data_duplicate (m); | 263 | d = GNUNET_CONTAINER_meta_data_duplicate (m); |
264 | GNUNET_CONTAINER_meta_data_destroy (m); | 264 | GNUNET_CONTAINER_meta_data_destroy (m); |
265 | thumb = NULL; | ||
265 | size = GNUNET_CONTAINER_meta_data_get_thumbnail (d, &thumb); | 266 | size = GNUNET_CONTAINER_meta_data_get_thumbnail (d, &thumb); |
266 | if (size == 0) | 267 | if (size == 0) |
267 | { | 268 | { |