diff options
author | Mohamad Chaarawi <chaarawi@hdfgroup.org> | 2015-11-05 19:03:06 (GMT) |
---|---|---|
committer | Mohamad Chaarawi <chaarawi@hdfgroup.org> | 2015-11-05 19:03:06 (GMT) |
commit | 26b328aec8e10b9101c76bc049b6b5045b5f00a5 (patch) | |
tree | 3d5cb4707febc7d52fe0d325fa06b143bfc68820 /hl | |
parent | eb13dc7ec9281a9206f6e0a2a54151adf2ddecd3 (diff) | |
parent | 401f0c181ea8e9f486203a6b70710f0631a4a640 (diff) | |
download | hdf5-26b328aec8e10b9101c76bc049b6b5045b5f00a5.zip hdf5-26b328aec8e10b9101c76bc049b6b5045b5f00a5.tar.gz hdf5-26b328aec8e10b9101c76bc049b6b5045b5f00a5.tar.bz2 |
[svn-r28288] merge from trunk.
Diffstat (limited to 'hl')
-rw-r--r-- | hl/src/H5LTparse.y | 13 | ||||
-rw-r--r-- | hl/test/test_lite.c | 1 |
2 files changed, 12 insertions, 2 deletions
diff --git a/hl/src/H5LTparse.y b/hl/src/H5LTparse.y index 4c07533..9f08254 100644 --- a/hl/src/H5LTparse.y +++ b/hl/src/H5LTparse.y @@ -190,7 +190,10 @@ memb_def : ddl_type { cmpd_stack[csindex].is_field = 1; /*notify le H5Tinsert(dtype_id, $<sval>4, $<ival>6, $<hid>1); } } - + if($<sval>4) { + free($<sval>4); + $<sval>4 = NULL; + } cmpd_stack[csindex].is_field = 0; H5Tclose($<hid>1); @@ -199,7 +202,9 @@ memb_def : ddl_type { cmpd_stack[csindex].is_field = 1; /*notify le ; field_name : STRING { - $<sval>$ = yylval.sval; + $<sval>$ = strdup(yylval.sval); + free(yylval.sval); + yylval.sval = NULL; } ; field_offset : /*empty*/ @@ -247,6 +252,8 @@ opaque_type : H5T_OPAQUE_TOKEN OPQ_TAG_TOKEN { is_opq_tag = 1; } '"' opaque_tag '"' ';' { H5Tset_tag($<hid>7, yylval.sval); + free(yylval.sval); + yylval.sval = NULL; is_opq_tag = 0; } '}' { $<hid>$ = $<hid>7; } @@ -335,6 +342,8 @@ enum_def : '"' enum_symbol '"' { #else /* H5_HAVE_WIN32_API */ enum_memb_symbol = strdup(yylval.sval); #endif /* H5_HAVE_WIN32_API */ + free(yylval.sval); + yylval.sval = NULL; } enum_val ';' { diff --git a/hl/test/test_lite.c b/hl/test/test_lite.c index 9d625e9..f3258d6 100644 --- a/hl/test/test_lite.c +++ b/hl/test/test_lite.c @@ -1282,6 +1282,7 @@ static int test_strings(void) HDfree(dt_str); goto out; } + HDfree(dt_str); /* Length of the character buffer is smaller then needed */ str_len = 21; |