diff options
author | Taras Shpot <taras.shpot@eleks.com> | 2010-10-15 17:45:02 +0200 |
---|---|---|
committer | Martin Sustrik <sustrik@250bpm.com> | 2010-10-15 17:45:02 +0200 |
commit | 6e9520533395b19ed6f6a17de6f196aa5e93da9f (patch) | |
tree | e9c6a4480a7a152531ffbb78b5c28e4e876e8588 | |
parent | 5b44025602b6af952fc434a6e7bf8dff65a00be6 (diff) |
Fix memory leak under Windows
The comment about memory ownership in uuid_t::to_string
was misleading as on most platforms the buffer is a field
of the object;
The string allocated in UuidToString() wasn't properly freed
with RpcStringFree()
Signed-off-by: Taras Shpot <taras.shpot@eleks.com>
-rw-r--r-- | AUTHORS | 1 | ||||
-rw-r--r-- | src/uuid.cpp | 2 | ||||
-rw-r--r-- | src/uuid.hpp | 2 |
3 files changed, 4 insertions, 1 deletions
@@ -34,6 +34,7 @@ Piotr Trojanek <piotr.trojanek@gmail.com> Sebastian Otaegui <feniix@gmail.com> Steven McCoy <steven.mccoy@miru.hk> Tamara Kustarova <kustarova.tamara@gmail.com> +Taras Shpot <taras.shpot@eleks.com> Tero Marttila <terom@fixme.fi> Terry Wilson <terry@logivox.net> Vitaly Mayatskikh <v.mayatskih@gmail.com> diff --git a/src/uuid.cpp b/src/uuid.cpp index f1dddf0..a119be0 100644 --- a/src/uuid.cpp +++ b/src/uuid.cpp @@ -41,6 +41,8 @@ zmq::uuid_t::uuid_t () zmq::uuid_t::~uuid_t () { + if (string_buf) + RpcStringFree (&string_buf); } const char *zmq::uuid_t::to_string () diff --git a/src/uuid.hpp b/src/uuid.hpp index 871f827..a528baf 100644 --- a/src/uuid.hpp +++ b/src/uuid.hpp @@ -58,7 +58,7 @@ namespace zmq enum { uuid_string_len = 36 }; // Returns a pointer to buffer containing the textual - // representation of the UUID. The caller is reponsible to + // representation of the UUID. The callee is reponsible to // free the allocated memory. const char *to_string (); |