Memory leak for failed attempt to use memcached_result_free()
[awesomized/libmemcached] / lib / memcached_get.c
index 09ec8a374f8e23b10f658bdb895b855e50c0382b..38f6865b53a90d440a6771658c4800ad3d91a0f3 100644 (file)
@@ -380,16 +380,16 @@ memcached_result_st *memcached_fetch_result(memcached_st *ptr,
     }
     else if (*error == MEMCACHED_END && memcached_string_length((memcached_string_st *)(&result->value)) == 0)
     {
-      return NULL;
+      goto error;
     }
     else if (*error == MEMCACHED_END)
     {
       WATCHPOINT_ASSERT(0); /* If this happens we have somehow messed up the fetch */
-      return NULL;
+      goto error;
     }
     else if (*error != MEMCACHED_SUCCESS)
     {
-      return NULL;
+      goto error;
     }
     else
     {
@@ -398,5 +398,8 @@ memcached_result_st *memcached_fetch_result(memcached_st *ptr,
 
   }
 
+error:
+  memcached_result_free(result);
+
   return NULL;
 }