[tor-commits] [obfsproxy/master] Fix minor memory leaks in protocol-specific option parsing and a major one in obfs2.c:digest_new.
nickm at torproject.org
nickm at torproject.org
Fri Sep 9 17:08:56 UTC 2011
commit 2dd47ce6624d374932f7c212b1f719ad09143c5e
Author: Zack Weinberg <zackw at panix.com>
Date: Tue Jul 19 11:56:42 2011 -0700
Fix minor memory leaks in protocol-specific option parsing and a major one in obfs2.c:digest_new.
---
src/protocols/dummy.c | 2 +-
src/protocols/obfs2.c | 4 +++-
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/src/protocols/dummy.c b/src/protocols/dummy.c
index c65f7b5..578182a 100644
--- a/src/protocols/dummy.c
+++ b/src/protocols/dummy.c
@@ -31,7 +31,7 @@ dummy_init(int n_options, const char *const *options)
= xzalloc(sizeof(struct protocol_params_t));
if (parse_and_set_options(n_options, options, params) < 0) {
- free(params);
+ proto_params_free(params);
usage();
return NULL;
}
diff --git a/src/protocols/obfs2.c b/src/protocols/obfs2.c
index 5c9aedc..6688ebf 100644
--- a/src/protocols/obfs2.c
+++ b/src/protocols/obfs2.c
@@ -6,6 +6,7 @@
#define PROTOCOL_OBFS2_PRIVATE
#include "obfs2.h"
+#include "../protocol.h"
#include <stdlib.h>
#include <string.h>
@@ -37,8 +38,8 @@ obfs2_init(int n_options, const char *const *options)
= xzalloc(sizeof(struct protocol_params_t));
if (parse_and_set_options(n_options, options, params) < 0) {
+ proto_params_free(params);
usage();
- free(params);
return NULL;
}
@@ -181,6 +182,7 @@ derive_key(void *s, const char *keytype)
d = digest_new();
digest_update(d, buf, sizeof(buf));
digest_getdigest(d, buf, sizeof(buf));
+ digest_free(d);
}
}
More information about the tor-commits
mailing list