From 54aca3c5ecdfbeaa7be195f4950bba78e6229a18 Mon Sep 17 00:00:00 2001
From: Yang Tse <yangsita@gmail.com>
Date: Thu, 10 Jun 2010 02:30:23 +0200
Subject: [PATCH] ensure that Curl_wildcard_dtor() leaves WildcardData struct
 zero initialized

---
 lib/wildcard.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/lib/wildcard.c b/lib/wildcard.c
index 0fe153c5fe..9fe5d51355 100644
--- a/lib/wildcard.c
+++ b/lib/wildcard.c
@@ -34,6 +34,7 @@
 
 CURLcode Curl_wildcard_init(struct WildcardData *wc)
 {
+  DEBUGASSERT(wc->filelist == NULL);
   /* now allocate only wc->filelist, everything else
      will be allocated if it is needed. */
   wc->filelist = Curl_llist_alloc(Curl_fileinfo_dtor);
@@ -50,8 +51,10 @@ void Curl_wildcard_dtor(struct WildcardData *wc)
 
   if(wc->tmp_dtor) {
     wc->tmp_dtor(wc->tmp);
+    wc->tmp_dtor = ZERO_NULL;
     wc->tmp = NULL;
   }
+  DEBUGASSERT(wc->tmp == NULL);
 
   if(wc->filelist) {
     Curl_llist_destroy(wc->filelist, NULL);
@@ -67,5 +70,7 @@ void Curl_wildcard_dtor(struct WildcardData *wc)
     free(wc->pattern);
     wc->pattern = NULL;
   }
+
   wc->customptr = NULL;
+  wc->state = CURLWC_INIT;
 }
-- 
GitLab