diff options
author | Justus Winter <[email protected]> | 2016-04-21 10:59:59 +0000 |
---|---|---|
committer | Justus Winter <[email protected]> | 2016-04-21 12:38:53 +0000 |
commit | c6d1f2f08c68efe7e80887219064a8ce6365128f (patch) | |
tree | 33c32ad85cdae7955c9e87377569456fa956c3c3 /common/strlist.c | |
parent | common: Add 'append_to_strlist_try' which can fail. (diff) | |
download | gnupg-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.c | 14 |
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 |