SHA256
1
0
forked from pool/libtirpc
libtirpc/explicit_bzero.patch

41 lines
1.4 KiB
Diff
Raw Normal View History

Index: libtirpc-1.0.1/configure.ac
===================================================================
--- libtirpc-1.0.1.orig/configure.ac
+++ libtirpc-1.0.1/configure.ac
@@ -86,7 +86,7 @@ AC_HEADER_DIRENT
AC_PREFIX_DEFAULT(/usr)
AC_CHECK_HEADERS([arpa/inet.h fcntl.h libintl.h limits.h locale.h netdb.h netinet/in.h stddef.h stdint.h stdlib.h string.h sys/ioctl.h sys/param.h sys/socket.h sys/time.h syslog.h unistd.h features.h gssapi/gssapi_ext.h])
AC_CHECK_LIB([pthread], [pthread_create])
-AC_CHECK_FUNCS([getrpcbyname getrpcbynumber setrpcent endrpcent getrpcent])
+AC_CHECK_FUNCS([getrpcbyname getrpcbynumber setrpcent endrpcent getrpcent explicit_bzero])
AC_CONFIG_FILES([Makefile src/Makefile man/Makefile doc/Makefile])
AC_OUTPUT(libtirpc.pc)
Index: libtirpc-1.0.1/src/des_impl.c
===================================================================
--- libtirpc-1.0.1.orig/src/des_impl.c
+++ libtirpc-1.0.1/src/des_impl.c
@@ -9,6 +9,10 @@
#include <sys/types.h>
#include <rpc/des.h>
+#if HAVE_CONFIG_H
+#include "config.h"
+#endif
+
static const uint32_t des_SPtrans[8][64] =
{
@@ -588,7 +592,11 @@ _des_crypt (char *buf, unsigned len, str
}
tin0 = tin1 = tout0 = tout1 = xor0 = xor1 = 0;
tbuf[0] = tbuf[1] = 0;
+#ifdef HAVE_EXPLICIT_BZERO
+ explicit_bzero (schedule, sizeof (schedule));
+#else
__bzero (schedule, sizeof (schedule));
+#endif
return (1);
}