summaryrefslogtreecommitdiff
path: root/epan/oids.c
diff options
context:
space:
mode:
authorStig Bjørlykke <stig@bjorlykke.org>2008-03-19 01:02:55 +0000
committerStig Bjørlykke <stig@bjorlykke.org>2008-03-19 01:02:55 +0000
commit1aa7d41bed93219ced227c1dbfcc57a7391bb15c (patch)
treee44e785d0b2052966cceb4c527419ff31ad02321 /epan/oids.c
parent664c9aa38af56669c0edf83900a5485a03fb2d82 (diff)
downloadwireshark-1aa7d41bed93219ced227c1dbfcc57a7391bb15c.tar.gz
Avoid calling some free() on WIN32 on memory that may be allocated in
another heap. This is a temporary solution. svn path=/trunk/; revision=24693
Diffstat (limited to 'epan/oids.c')
-rw-r--r--epan/oids.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/epan/oids.c b/epan/oids.c
index b76d4c39f3..5251faa880 100644
--- a/epan/oids.c
+++ b/epan/oids.c
@@ -291,12 +291,16 @@ const oid_value_type_t* get_typedata(SmiType* smiType) {
for (t = types; t->type ; t++ ) {
char* name = smiRenderType(sT, SMI_RENDER_NAME);
if (name && t->name && g_str_equal(name, t->name )) {
+#ifndef WIN32
free (name);
+#endif
return t->type;
}
+#ifndef WIN32
if (name) {
free (name);
}
+#endif
}
} while(( sT = smiGetParentType(sT) ));
@@ -384,8 +388,10 @@ static inline oid_kind_t smikind(SmiNode* sN, oid_key_t** key_p) {
oid1 = smiRenderOID(sN->oidlen, sN->oid, SMI_RENDER_QUALIFIED);
oid2 = smiRenderOID(elNode->oidlen, elNode->oid, SMI_RENDER_NAME);
k->name = g_strdup_printf("%s.%s", oid1, oid2);
+#ifndef WIN32
free (oid1);
free (oid2);
+#endif
k->hfid = -2;
k->ft_type = typedata ? typedata->ft_type : FT_BYTES;
@@ -575,7 +581,9 @@ void register_mibs(void) {
key,
smiNode->oidlen,
smiNode->oid);
+#ifndef WIN32
free (oid);
+#endif
D(4,("\t\tNode: kind=%d oid=%s name=%s ",
oid_data->kind, oid_subid2string(smiNode->oid, smiNode->oidlen), oid_data->name ));
@@ -589,7 +597,11 @@ void register_mibs(void) {
typedata->display,
NULL,
0,
+#ifndef WIN32
smiRenderOID(smiNode->oidlen, smiNode->oid, SMI_RENDER_ALL),
+#else
+ g_strdup (smiRenderOID(smiNode->oidlen, smiNode->oid, SMI_RENDER_ALL)),
+#endif
HFILL }};
oid_data->value_hfid = -1;