aboutsummaryrefslogtreecommitdiff
path: root/src/extlib.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/extlib.c')
-rw-r--r--src/extlib.c18
1 files changed, 15 insertions, 3 deletions
diff --git a/src/extlib.c b/src/extlib.c
index ee20d3e..151a74f 100644
--- a/src/extlib.c
+++ b/src/extlib.c
@@ -27,10 +27,11 @@
#undef malloc
void
-free_secure(void *__ptr, size_t ptrlen)
+free_secure(void **__ptr, size_t ptrlen)
{
- memset (__ptr, 0, ptrlen);
- free (__ptr);
+ memset (*__ptr, 0, ptrlen);
+ free (*__ptr);
+ *__ptr = NULL;
return;
}
@@ -42,6 +43,16 @@ malloc_secure (size_t len)
return mem;
}
+int
+memvcmp (void *str,
+ char val,
+ size_t n)
+{
+ char str2[n];
+ memset (str2, val, n);
+ return memcmp (str, str2, n);
+}
+
void
fcopy(FILE *f1, FILE *f2)
{
@@ -54,5 +65,6 @@ fcopy(FILE *f1, FILE *f2)
fprintf (stderr, "Failed to copy data");
return;
}
+ fflush (f2);
}
}