diff options
author | Ollivier Robert <roberto@FreeBSD.org> | 2013-12-04 21:33:17 +0000 |
---|---|---|
committer | Ollivier Robert <roberto@FreeBSD.org> | 2013-12-04 21:33:17 +0000 |
commit | 2b45e011ca352ce509bc83ae148230aeee0c7e0d (patch) | |
tree | a618007bb41d13153794a598e3d904ace2976324 /include/ntp_malloc.h | |
parent | 9b5bd0a264b0a21eefac2b929b574c73bd601507 (diff) |
Virgin import of ntpd 4.2.6p5.vendor/ntp/4.2.6p5
When the series of commits is complete, things like
https://cert.litnet.lt/en/docs/ntp-distributed-reflection-dos-attacks
should be fixed.
PR: bin/148836 (except that we import a newer version)
Asked by: Too many
MFC after: 2 weeks
Notes
Notes:
svn path=/vendor/ntp/dist/; revision=258945
svn path=/vendor/ntp/4.2.6p5/; revision=258946; tag=vendor/ntp/4.2.6p5
Diffstat (limited to 'include/ntp_malloc.h')
-rw-r--r-- | include/ntp_malloc.h | 60 |
1 files changed, 51 insertions, 9 deletions
diff --git a/include/ntp_malloc.h b/include/ntp_malloc.h index 099c83effe90..4cde62e1a7a5 100644 --- a/include/ntp_malloc.h +++ b/include/ntp_malloc.h @@ -1,19 +1,61 @@ /* * Define malloc and friends. */ -#ifndef _ntp_malloc_h -#define _ntp_malloc_h - -#ifdef HAVE_CONFIG_H -# include <config.h> -#endif +#ifndef NTP_MALLOC_H +#define NTP_MALLOC_H #ifdef HAVE_STDLIB_H # include <stdlib.h> -#else /* HAVE_STDLIB_H */ +#else # ifdef HAVE_MALLOC_H # include <malloc.h> # endif -#endif /* HAVE_STDLIB_H */ +#endif + +/* + * Deal with platform differences declaring alloca() + * This comes nearly verbatim from: + * + * http://www.gnu.org/software/autoconf/manual/autoconf.html#Particular-Functions + * + * The only modifications were to remove C++ support and guard against + * redefining alloca. + */ +#ifdef HAVE_ALLOCA_H +# include <alloca.h> +#elif defined __GNUC__ +# ifndef alloca +# define alloca __builtin_alloca +# endif +#elif defined _AIX +# ifndef alloca +# define alloca __alloca +# endif +#elif defined _MSC_VER +# include <malloc.h> +# ifndef alloca +# define alloca _alloca +# endif +#else +# include <stddef.h> +void * alloca(size_t); +#endif + +#ifdef EREALLOC_IMPL +# define EREALLOC_CALLSITE /* preserve __FILE__ and __LINE__ */ +#else +# define EREALLOC_IMPL(ptr, newsz, filenm, loc) \ + realloc(ptr, (newsz)) +#endif + +#ifdef HAVE_STRINGS_H +# include <strings.h> +# define zero_mem(p, s) bzero(p, s) +#endif + +#ifndef zero_mem +# define zero_mem(p, s) memset(p, 0, s) +#endif +#define ZERO(var) zero_mem(&(var), sizeof(var)) -#endif /* _ntp_malloc_h */ +#endif /* NTP_MALLOC_H */ |