better cleanup
authorSchanzenbach, Martin <mschanzenbach@posteo.de>
Tue, 5 May 2020 11:03:19 +0000 (13:03 +0200)
committerSchanzenbach, Martin <mschanzenbach@posteo.de>
Tue, 5 May 2020 11:03:19 +0000 (13:03 +0200)
src/reclaim/plugin_rest_openid_connect.c

index c6fa406878f69bd947c32a5658f7ccc623965900..c9d995489fa2873df126871a115c18b2a3a30ec1 100644 (file)
@@ -536,7 +536,6 @@ static void
 cleanup_handle (struct RequestHandle *handle)
 {
   struct EgoEntry *ego_entry;
-  struct EgoEntry *ego_tmp;
 
   GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Cleaning up\n");
   if (NULL != handle->timeout_task)
@@ -578,18 +577,19 @@ cleanup_handle (struct RequestHandle *handle)
     json_decref (handle->oidc->response);
     GNUNET_free (handle->oidc);
   }
-if(NULL!=handle->attr_list)
+  if (NULL!=handle->attr_list)
     GNUNET_RECLAIM_attribute_list_destroy (handle->attr_list);
-if(NULL!=handle->attests_list)
-   GNUNET_RECLAIM_attestation_list_destroy (handle->attests_list);
+  if (NULL!=handle->attests_list)
+    GNUNET_RECLAIM_attestation_list_destroy (handle->attests_list);
 
-  for (ego_entry = handle->ego_head; NULL != ego_entry;)
+  while (NULL != (ego_entry = handle->ego_head))
   {
-    ego_tmp = ego_entry;
-    ego_entry = ego_entry->next;
-    GNUNET_free (ego_tmp->identifier);
-    GNUNET_free (ego_tmp->keystring);
-    GNUNET_free (ego_tmp);
+    GNUNET_CONTAINER_DLL_remove (ego_entry,
+                                 handle->ego_head,
+                                 handle->ego_tail);
+    GNUNET_free (ego_entry->identifier);
+    GNUNET_free (ego_entry->keystring);
+    GNUNET_free (ego_entry);
   }
   GNUNET_free (handle);
 }