Fixed a bug Cal found on null termination of a result for memcached_fetch()
authorBrian Aker <brian@tangent.org>
Sat, 22 Dec 2007 01:26:25 +0000 (17:26 -0800)
committerBrian Aker <brian@tangent.org>
Sat, 22 Dec 2007 01:26:25 +0000 (17:26 -0800)
ChangeLog
configure.ac
lib/memcached_string.c

index 68671ae4b0896c9c445e29f25d9befc663fd7cb4..a8e87a7dc5011581140bb252b274e4a38d4c3a76 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -8,6 +8,8 @@
   * If memcached_server_list_append is passed NULLs instead of pointers it
     returns NULL.  
   * Added memcached_fetch_execute() method
+  * Found a bug where memcached_fetch() was not null terminating the result
+    value.
 
 0.12 Tue Dec 11 15:20:55 PST 2007
   * Updates for consistent hashing
index f052f5f02b35d04d2e613d341919a5197f3d34d4..0cf13db9b10c43fe71a84cd993e803eb910f5bd2 100644 (file)
@@ -7,7 +7,7 @@ MEMCACHED_LIBRARY_NAME=libmemcached
 
 #release versioning
 MEMCACHED_MAJOR_VERSION=0
-MEMCACHED_MINOR_VERSION=12
+MEMCACHED_MINOR_VERSION=13
 MEMCACHED_MICRO_VERSION=0
 
 #API version
index 300f10f2bc459967ee3ff66d1830830f4fd2095b..247fbe475dd0506794add134d0c15bb47f3096db 100644 (file)
@@ -129,11 +129,12 @@ char *memcached_string_c_copy(memcached_string_st *string)
 
   WATCHPOINT_ASSERT(string->is_allocated != MEMCACHED_USED);
 
-  c_ptr= (char *)malloc(memcached_string_length(string) * sizeof(char));
+  c_ptr= (char *)malloc((memcached_string_length(string)+1) * sizeof(char));
   if (!c_ptr)
     return NULL;
 
   memcpy(c_ptr, memcached_string_value(string), memcached_string_length(string));
+  c_ptr[memcached_string_length(string)]= 0;
 
   return c_ptr;
 }