Based on Github PR#597 from Mike Frysinger, any bugs added by me.
nlist.h \
poll.h \
stdint.h \
+ sys/mmap.h \
sys/stat.h \
sys/time.h \
sys/un.h \
memmove \
memset_s \
mkdtemp \
+ mmap \
ngetaddrinfo \
nlist \
nsleep \
static int
sshkey_prekey_alloc(u_char **prekeyp, size_t len)
{
+#if defined(HAVE_MMAP) && defined(MAP_ANON) && defined(MAP_PRIVATE)
u_char *prekey;
*prekeyp = NULL;
#endif
*prekeyp = prekey;
return 0;
+#else
+ *prekeyp = calloc(1, len);
+#endif /* HAVE_MMAP et al */
}
static void
sshkey_prekey_free(void *prekey, size_t len)
{
+#if defined(HAVE_MMAP) && defined(MAP_ANON) && defined(MAP_PRIVATE)
if (prekey == NULL)
return;
munmap(prekey, len);
+#else
+ free(prekey);
+#endif /* HAVE_MMAP et al */
}
static void