tr_config: remove free calls
authorSam Hartman <hartmans@debian.org>
Tue, 7 Oct 2014 10:02:35 +0000 (06:02 -0400)
committerSam Hartman <hartmans@debian.org>
Tue, 7 Oct 2014 11:00:34 +0000 (07:00 -0400)
Since we're using talloc, we only need to free the entire
configuration and that will cascade to sub objects.  Remove calls to
free, which are wrong anyway for talloc'd memory.

common/tr_config.c

index 9b9fb19..352c894 100644 (file)
@@ -367,7 +367,6 @@ static TR_RP_CLIENT *tr_cfg_parse_one_rp_client (TR_CFG *trc, json_t *jrp, TR_CF
   /* TBD -- support more than one filter entry per RP Client? */
   if (NULL == (rp->filter = tr_cfg_parse_one_filter(trc, jfilt, rc))) {
     fprintf(stderr, "tr_cfg_parse_one_rp_client: Error parsing filter.\n");
   /* TBD -- support more than one filter entry per RP Client? */
   if (NULL == (rp->filter = tr_cfg_parse_one_filter(trc, jfilt, rc))) {
     fprintf(stderr, "tr_cfg_parse_one_rp_client: Error parsing filter.\n");
-    free(rp);
     *rc = TR_CFG_NOPARSE;
     return NULL;
   }
     *rc = TR_CFG_NOPARSE;
     return NULL;
   }
@@ -375,7 +374,6 @@ static TR_RP_CLIENT *tr_cfg_parse_one_rp_client (TR_CFG *trc, json_t *jrp, TR_CF
   for (i = 0; i < json_array_size(jgns); i++) {
     if (NULL == (rp->gss_names[i] = tr_new_name ((char *)json_string_value(json_array_get(jgns, i))))) {
       fprintf(stderr, "tr_cfg_parse_one_rp_client: No memory for GSS Name.\n");
   for (i = 0; i < json_array_size(jgns); i++) {
     if (NULL == (rp->gss_names[i] = tr_new_name ((char *)json_string_value(json_array_get(jgns, i))))) {
       fprintf(stderr, "tr_cfg_parse_one_rp_client: No memory for GSS Name.\n");
-      free(rp);
       *rc = TR_CFG_NOMEM;
       return NULL;
     }
       *rc = TR_CFG_NOMEM;
       return NULL;
     }
@@ -517,7 +515,6 @@ static TR_IDP_REALM *tr_cfg_parse_one_idp_realm (TR_CFG *trc, json_t *jidp, TR_C
       (NULL == (jsrvrs = json_object_get(jidp, "aaa_servers"))) ||
       (!json_is_array(jsrvrs))) {
     fprintf(stderr, "tr_cfg_parse_one_idp_realm: Error parsing IDP realm configuration.\n");
       (NULL == (jsrvrs = json_object_get(jidp, "aaa_servers"))) ||
       (!json_is_array(jsrvrs))) {
     fprintf(stderr, "tr_cfg_parse_one_idp_realm: Error parsing IDP realm configuration.\n");
-    free(idp);
     *rc = TR_CFG_NOPARSE;
     return NULL;
   }
     *rc = TR_CFG_NOPARSE;
     return NULL;
   }
@@ -529,7 +526,6 @@ static TR_IDP_REALM *tr_cfg_parse_one_idp_realm (TR_CFG *trc, json_t *jidp, TR_C
   }
 
   if (NULL == (idp->realm_id = tr_new_name((char *)json_string_value(jrid)))) {
   }
 
   if (NULL == (idp->realm_id = tr_new_name((char *)json_string_value(jrid)))) {
-    free(idp);
     fprintf(stderr, "tr_cfg_parse_one_idp_realm: No memory for realm id.\n");
     *rc = TR_CFG_NOMEM;
     return NULL;
     fprintf(stderr, "tr_cfg_parse_one_idp_realm: No memory for realm id.\n");
     *rc = TR_CFG_NOMEM;
     return NULL;
@@ -538,7 +534,6 @@ static TR_IDP_REALM *tr_cfg_parse_one_idp_realm (TR_CFG *trc, json_t *jidp, TR_C
   if (NULL == (idp->aaa_servers = tr_cfg_parse_aaa_servers(trc, jsrvrs, rc))) {
     fprintf(stderr, "tr_cfg_parse_one_idp_realm: Can't parse AAA servers for realm %s.\n", idp->realm_id->buf);
     tr_free_name(idp->realm_id);
   if (NULL == (idp->aaa_servers = tr_cfg_parse_aaa_servers(trc, jsrvrs, rc))) {
     fprintf(stderr, "tr_cfg_parse_one_idp_realm: Can't parse AAA servers for realm %s.\n", idp->realm_id->buf);
     tr_free_name(idp->realm_id);
-    free(idp);
     return NULL;
   }
 
     return NULL;
   }
 
@@ -548,7 +543,6 @@ static TR_IDP_REALM *tr_cfg_parse_one_idp_realm (TR_CFG *trc, json_t *jidp, TR_C
       fprintf(stderr, "tr_cfg_parse_one_idp_realm: Can't parse APCs for realm %s .\n", idp->realm_id->buf);
       tr_free_name(idp->realm_id);
       /* TBD -- free aaa_servers */;
       fprintf(stderr, "tr_cfg_parse_one_idp_realm: Can't parse APCs for realm %s .\n", idp->realm_id->buf);
       tr_free_name(idp->realm_id);
       /* TBD -- free aaa_servers */;
-      free(idp);
       return NULL;
     }
   } 
       return NULL;
     }
   } 
@@ -714,13 +708,11 @@ static TR_COMM *tr_cfg_parse_one_comm (TR_CFG *trc, json_t *jcomm, TR_CFG_RC *rc
       (NULL == (jrps = json_object_get(jcomm, "rp_realms"))) ||
       (!json_is_array(jrps))) {
     fprintf(stderr, "tr_cfg_parse_one_comm: Error parsing Communities configuration.\n");
       (NULL == (jrps = json_object_get(jcomm, "rp_realms"))) ||
       (!json_is_array(jrps))) {
     fprintf(stderr, "tr_cfg_parse_one_comm: Error parsing Communities configuration.\n");
-    free(comm);
     *rc = TR_CFG_NOPARSE;
     return NULL;
   }
 
   if (NULL == (comm->id = tr_new_name((char *)json_string_value(jid)))) {
     *rc = TR_CFG_NOPARSE;
     return NULL;
   }
 
   if (NULL == (comm->id = tr_new_name((char *)json_string_value(jid)))) {
-    free(comm);
     fprintf(stderr, "tr_cfg_parse_one_comm: No memory for community id.\n");
     *rc = TR_CFG_NOMEM;
     return NULL;
     fprintf(stderr, "tr_cfg_parse_one_comm: No memory for community id.\n");
     *rc = TR_CFG_NOMEM;
     return NULL;
@@ -733,13 +725,11 @@ static TR_COMM *tr_cfg_parse_one_comm (TR_CFG *trc, json_t *jcomm, TR_CFG_RC *rc
     if (NULL == (comm->apcs = tr_cfg_parse_apcs(trc, japcs, rc))) {
       fprintf(stderr, "tr_cfg_parse_one_comm: Can't parse APCs for COI %s.\n", comm->id->buf);
       tr_free_name(comm->id);
     if (NULL == (comm->apcs = tr_cfg_parse_apcs(trc, japcs, rc))) {
       fprintf(stderr, "tr_cfg_parse_one_comm: Can't parse APCs for COI %s.\n", comm->id->buf);
       tr_free_name(comm->id);
-      free(comm);
       return NULL;
     }
   } else {
     fprintf(stderr, "tr_cfg_parse_one_comm: Invalid community type, comm = %s, type = %s\n", comm->id->buf, json_string_value(jtype));
     tr_free_name(comm->id);
       return NULL;
     }
   } else {
     fprintf(stderr, "tr_cfg_parse_one_comm: Invalid community type, comm = %s, type = %s\n", comm->id->buf, json_string_value(jtype));
     tr_free_name(comm->id);
-    free(comm);
     *rc = TR_CFG_NOPARSE;
     return NULL;
   }
     *rc = TR_CFG_NOPARSE;
     return NULL;
   }
@@ -748,7 +738,6 @@ static TR_COMM *tr_cfg_parse_one_comm (TR_CFG *trc, json_t *jcomm, TR_CFG_RC *rc
   if (TR_CFG_SUCCESS != *rc) {
     fprintf(stderr, "tr_cfg_parse_one_comm: Can't parse IDP realms for comm %s.\n", comm->id->buf);
     tr_free_name(comm->id);
   if (TR_CFG_SUCCESS != *rc) {
     fprintf(stderr, "tr_cfg_parse_one_comm: Can't parse IDP realms for comm %s.\n", comm->id->buf);
     tr_free_name(comm->id);
-    free(comm);
     return NULL;
   }
 
     return NULL;
   }
 
@@ -757,7 +746,6 @@ static TR_COMM *tr_cfg_parse_one_comm (TR_CFG *trc, json_t *jcomm, TR_CFG_RC *rc
     fprintf(stderr, "tr_cfg_parse_comm: Can't parse RP realms for comm %s .\n", comm->id->buf);
     tr_free_name(comm->id);
     /* TBD -- free idps? */;
     fprintf(stderr, "tr_cfg_parse_comm: Can't parse RP realms for comm %s .\n", comm->id->buf);
     tr_free_name(comm->id);
     /* TBD -- free idps? */;
-    free(comm);
     return NULL;
   }
 
     return NULL;
   }