diff options
author | LRN <lrn1986@gmail.com> | 2013-02-02 17:25:59 +0000 |
---|---|---|
committer | LRN <lrn1986@gmail.com> | 2013-02-02 17:25:59 +0000 |
commit | e1442a1fc9da82ca6fe924ceb0df9bb57a5e9ad7 (patch) | |
tree | 7c1a092b856bb6af0205ace30514f15e83e5d3fd /src | |
parent | 5a4e1ec9680f053ac7344d1baf686d867aa5ee8e (diff) | |
download | gnunet-e1442a1fc9da82ca6fe924ceb0df9bb57a5e9ad7.tar.gz gnunet-e1442a1fc9da82ca6fe924ceb0df9bb57a5e9ad7.zip |
Fix a buffer overflow
Diffstat (limited to 'src')
-rw-r--r-- | src/util/container_meta_data.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/util/container_meta_data.c b/src/util/container_meta_data.c index 9e60a746a..668c126fa 100644 --- a/src/util/container_meta_data.c +++ b/src/util/container_meta_data.c | |||
@@ -897,7 +897,10 @@ GNUNET_CONTAINER_meta_data_serialize (const struct GNUNET_CONTAINER_MetaData | |||
897 | } | 897 | } |
898 | if (NULL != *target) | 898 | if (NULL != *target) |
899 | { | 899 | { |
900 | memcpy (*target, dst, clen + sizeof (struct MetaDataHeader)); | 900 | if (GNUNET_YES == comp) |
901 | memcpy (*target, dst, clen + sizeof (struct MetaDataHeader)); | ||
902 | else | ||
903 | memcpy (*target, dst, left + sizeof (struct MetaDataHeader)); | ||
901 | GNUNET_free (dst); | 904 | GNUNET_free (dst); |
902 | } | 905 | } |
903 | else | 906 | else |