Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Free keyname for all execution paths.
authoragiersch <agiersch@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Wed, 1 Dec 2010 22:00:47 +0000 (22:00 +0000)
committeragiersch <agiersch@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Wed, 1 Dec 2010 22:00:47 +0000 (22:00 +0000)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@8847 48e7efb5-ca39-0410-a469-dd3cf9ba447f

src/gras/DataDesc/ddt_parse.c

index edc56da..d4c4df4 100644 (file)
@@ -469,7 +469,6 @@ static void parse_statement(char *definition,
 
         DEBUG2("Anotation: %s=%s", keyname, keyval);
         if (!strcmp(keyname, "size")) {
 
         DEBUG2("Anotation: %s=%s", keyname, keyval);
         if (!strcmp(keyname, "size")) {
-          free(keyname);
           if (!identifier.tm.is_ref)
             PARSE_ERROR0
                 ("Size annotation for a field not being a reference");
           if (!identifier.tm.is_ref)
             PARSE_ERROR0
                 ("Size annotation for a field not being a reference");
@@ -530,6 +529,7 @@ static void parse_statement(char *definition,
           free(keyval);
           PARSE_ERROR1("Unknown annotation type: '%s'", keyname);
         }
           free(keyval);
           PARSE_ERROR1("Unknown annotation type: '%s'", keyname);
         }
+        free(keyname);
 
         /* Get all the multipliers */
         while (gras_ddt_parse_tok_num == GRAS_DDT_PARSE_TOKEN_STAR) {
 
         /* Get all the multipliers */
         while (gras_ddt_parse_tok_num == GRAS_DDT_PARSE_TOKEN_STAR) {