aboutsummaryrefslogtreecommitdiffstats
path: root/common/strlist.c
diff options
context:
space:
mode:
authorJustus Winter <[email protected]>2016-04-21 10:59:59 +0000
committerJustus Winter <[email protected]>2016-04-21 12:38:53 +0000
commitc6d1f2f08c68efe7e80887219064a8ce6365128f (patch)
tree33c32ad85cdae7955c9e87377569456fa956c3c3 /common/strlist.c
parentcommon: Add 'append_to_strlist_try' which can fail. (diff)
downloadgnupg-c6d1f2f08c68efe7e80887219064a8ce6365128f.tar.gz
gnupg-c6d1f2f08c68efe7e80887219064a8ce6365128f.zip
common: Add 'free_strlist_wipe' which wipes memory.
* common/strlist.c (free_strlist_wipe): New function. * common/strlist.h (free_strlist_wipe): New prototype. Signed-off-by: Justus Winter <[email protected]>
Diffstat (limited to 'common/strlist.c')
-rw-r--r--common/strlist.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/common/strlist.c b/common/strlist.c
index 2ba0209f9..319d034e2 100644
--- a/common/strlist.c
+++ b/common/strlist.c
@@ -39,6 +39,7 @@
#include "common-defs.h"
#include "strlist.h"
#include "utf8conv.h"
+#include "mischelp.h"
void
free_strlist( strlist_t sl )
@@ -52,6 +53,19 @@ free_strlist( strlist_t sl )
}
+void
+free_strlist_wipe (strlist_t sl)
+{
+ strlist_t sl2;
+
+ for(; sl; sl = sl2 ) {
+ sl2 = sl->next;
+ wipememory (sl, sizeof *sl + strlen (sl->d));
+ xfree(sl);
+ }
+}
+
+
/* Add STRING to the LIST at the front. This function terminates the
process on memory shortage. */
strlist_t