2
0
mirror of https://github.com/sudo-project/sudo.git synced 2025-08-22 09:57:41 +00:00

Add sudo_ prefix to alloc.c functions and rename alloc.h -> sudo_alloc.h

This commit is contained in:
Todd C. Miller 2014-06-27 10:48:31 -06:00
parent c4c253847e
commit 2d61d38c23
65 changed files with 736 additions and 723 deletions

View File

@ -23,15 +23,15 @@
#undef efree #undef efree
#define efree(x) free((void *)(x)) #define efree(x) free((void *)(x))
__dso_public int easprintf(char **, const char *, ...) __printflike(2, 3); __dso_public int sudo_easprintf(char **, const char *, ...) __printflike(2, 3);
__dso_public int evasprintf(char **, const char *, va_list) __printflike(2, 0); __dso_public int sudo_evasprintf(char **, const char *, va_list) __printflike(2, 0);
__dso_public void *ecalloc(size_t, size_t) __malloc_like; __dso_public void *sudo_ecalloc(size_t, size_t) __malloc_like;
__dso_public void *emalloc(size_t) __malloc_like; __dso_public void *sudo_emalloc(size_t) __malloc_like;
__dso_public void *emallocarray(size_t, size_t) __malloc_like; __dso_public void *sudo_emallocarray(size_t, size_t) __malloc_like;
__dso_public void *erealloc(void *, size_t); __dso_public void *sudo_erealloc(void *, size_t);
__dso_public void *ereallocarray(void *, size_t, size_t); __dso_public void *sudo_ereallocarray(void *, size_t, size_t);
__dso_public void *erecalloc(void *, size_t, size_t, size_t); __dso_public void *sudo_erecalloc(void *, size_t, size_t, size_t);
__dso_public char *estrdup(const char *) __malloc_like; __dso_public char *sudo_estrdup(const char *) __malloc_like;
__dso_public char *estrndup(const char *, size_t) __malloc_like; __dso_public char *sudo_estrndup(const char *, size_t) __malloc_like;
#endif /* _SUDO_ALLOC_H */ #endif /* _SUDO_ALLOC_H */

View File

@ -280,12 +280,12 @@ realclean: distclean
cleandir: realclean cleandir: realclean
# Autogenerated dependencies, do not modify # Autogenerated dependencies, do not modify
aix.lo: $(srcdir)/aix.c $(incdir)/alloc.h $(incdir)/compat/stdbool.h \ aix.lo: $(srcdir)/aix.c $(incdir)/compat/stdbool.h $(incdir)/fatal.h \
$(incdir)/fatal.h $(incdir)/gettext.h $(incdir)/missing.h \ $(incdir)/gettext.h $(incdir)/missing.h $(incdir)/sudo_alloc.h \
$(incdir)/sudo_debug.h $(incdir)/sudo_util.h $(top_builddir)/config.h $(incdir)/sudo_debug.h $(incdir)/sudo_util.h $(top_builddir)/config.h
$(LIBTOOL) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/aix.c $(LIBTOOL) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/aix.c
alloc.lo: $(srcdir)/alloc.c $(incdir)/alloc.h $(incdir)/fatal.h \ alloc.lo: $(srcdir)/alloc.c $(incdir)/fatal.h $(incdir)/gettext.h \
$(incdir)/gettext.h $(incdir)/missing.h $(top_builddir)/config.h $(incdir)/missing.h $(incdir)/sudo_alloc.h $(top_builddir)/config.h
$(LIBTOOL) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/alloc.c $(LIBTOOL) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/alloc.c
atobool.lo: $(srcdir)/atobool.c $(incdir)/compat/stdbool.h $(incdir)/missing.h \ atobool.lo: $(srcdir)/atobool.c $(incdir)/compat/stdbool.h $(incdir)/missing.h \
$(incdir)/sudo_debug.h $(incdir)/sudo_util.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_util.h \
@ -314,25 +314,26 @@ conf_test.lo: $(srcdir)/regress/sudo_conf/conf_test.c \
$(incdir)/sudo_conf.h $(incdir)/sudo_util.h \ $(incdir)/sudo_conf.h $(incdir)/sudo_util.h \
$(top_builddir)/config.h $(top_builddir)/config.h
$(LIBTOOL) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/regress/sudo_conf/conf_test.c $(LIBTOOL) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/regress/sudo_conf/conf_test.c
event.lo: $(srcdir)/event.c $(incdir)/alloc.h $(incdir)/compat/stdbool.h \ event.lo: $(srcdir)/event.c $(incdir)/compat/stdbool.h $(incdir)/fatal.h \
$(incdir)/fatal.h $(incdir)/missing.h $(incdir)/queue.h \ $(incdir)/missing.h $(incdir)/queue.h $(incdir)/sudo_alloc.h \
$(incdir)/sudo_debug.h $(incdir)/sudo_event.h $(incdir)/sudo_util.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_event.h $(incdir)/sudo_util.h \
$(top_builddir)/config.h $(top_builddir)/config.h
$(LIBTOOL) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/event.c $(LIBTOOL) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/event.c
event_poll.lo: $(srcdir)/event_poll.c $(incdir)/alloc.h \ event_poll.lo: $(srcdir)/event_poll.c $(incdir)/compat/stdbool.h \
$(incdir)/compat/stdbool.h $(incdir)/fatal.h \ $(incdir)/fatal.h $(incdir)/missing.h $(incdir)/queue.h \
$(incdir)/missing.h $(incdir)/queue.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_alloc.h $(incdir)/sudo_debug.h \
$(incdir)/sudo_event.h $(top_builddir)/config.h $(incdir)/sudo_event.h $(top_builddir)/config.h
$(LIBTOOL) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/event_poll.c $(LIBTOOL) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/event_poll.c
event_select.lo: $(srcdir)/event_select.c $(incdir)/alloc.h \ event_select.lo: $(srcdir)/event_select.c $(incdir)/compat/stdbool.h \
$(incdir)/compat/stdbool.h $(incdir)/fatal.h \ $(incdir)/fatal.h $(incdir)/missing.h $(incdir)/queue.h \
$(incdir)/missing.h $(incdir)/queue.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_alloc.h $(incdir)/sudo_debug.h \
$(incdir)/sudo_event.h $(incdir)/sudo_util.h \ $(incdir)/sudo_event.h $(incdir)/sudo_util.h \
$(top_builddir)/config.h $(top_builddir)/config.h
$(LIBTOOL) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/event_select.c $(LIBTOOL) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/event_select.c
fatal.lo: $(srcdir)/fatal.c $(incdir)/alloc.h $(incdir)/compat/stdbool.h \ fatal.lo: $(srcdir)/fatal.c $(incdir)/compat/stdbool.h $(incdir)/fatal.h \
$(incdir)/fatal.h $(incdir)/gettext.h $(incdir)/missing.h \ $(incdir)/gettext.h $(incdir)/missing.h $(incdir)/queue.h \
$(incdir)/queue.h $(incdir)/sudo_plugin.h $(top_builddir)/config.h $(incdir)/sudo_alloc.h $(incdir)/sudo_plugin.h \
$(top_builddir)/config.h
$(LIBTOOL) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/fatal.c $(LIBTOOL) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/fatal.c
fnm_test.lo: $(srcdir)/regress/fnmatch/fnm_test.c $(incdir)/compat/fnmatch.h \ fnm_test.lo: $(srcdir)/regress/fnmatch/fnm_test.c $(incdir)/compat/fnmatch.h \
$(incdir)/missing.h $(top_builddir)/config.h $(incdir)/missing.h $(top_builddir)/config.h
@ -356,8 +357,8 @@ getline.lo: $(srcdir)/getline.c $(incdir)/missing.h $(top_builddir)/config.h
getopt_long.lo: $(srcdir)/getopt_long.c $(incdir)/compat/getopt.h \ getopt_long.lo: $(srcdir)/getopt_long.c $(incdir)/compat/getopt.h \
$(incdir)/fatal.h $(incdir)/missing.h $(top_builddir)/config.h $(incdir)/fatal.h $(incdir)/missing.h $(top_builddir)/config.h
$(LIBTOOL) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/getopt_long.c $(LIBTOOL) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/getopt_long.c
gidlist.lo: $(srcdir)/gidlist.c $(incdir)/alloc.h $(incdir)/compat/stdbool.h \ gidlist.lo: $(srcdir)/gidlist.c $(incdir)/compat/stdbool.h $(incdir)/fatal.h \
$(incdir)/fatal.h $(incdir)/gettext.h $(incdir)/missing.h \ $(incdir)/gettext.h $(incdir)/missing.h $(incdir)/sudo_alloc.h \
$(incdir)/sudo_debug.h $(incdir)/sudo_util.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_util.h \
$(top_builddir)/config.h $(top_builddir)/config.h
$(LIBTOOL) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/gidlist.c $(LIBTOOL) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/gidlist.c
@ -378,8 +379,8 @@ key_val.lo: $(srcdir)/key_val.c $(incdir)/compat/stdbool.h $(incdir)/missing.h \
$(incdir)/sudo_debug.h $(incdir)/sudo_util.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_util.h \
$(top_builddir)/config.h $(top_builddir)/config.h
$(LIBTOOL) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/key_val.c $(LIBTOOL) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/key_val.c
lbuf.lo: $(srcdir)/lbuf.c $(incdir)/alloc.h $(incdir)/fatal.h \ lbuf.lo: $(srcdir)/lbuf.c $(incdir)/fatal.h $(incdir)/missing.h \
$(incdir)/missing.h $(incdir)/sudo_debug.h $(incdir)/sudo_lbuf.h \ $(incdir)/sudo_alloc.h $(incdir)/sudo_debug.h $(incdir)/sudo_lbuf.h \
$(top_builddir)/config.h $(top_builddir)/config.h
$(LIBTOOL) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/lbuf.c $(LIBTOOL) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/lbuf.c
locale_stub.lo: $(top_srcdir)/src/locale_stub.c $(incdir)/fatal.h \ locale_stub.lo: $(top_srcdir)/src/locale_stub.c $(incdir)/fatal.h \
@ -443,16 +444,16 @@ strsignal.lo: $(srcdir)/strsignal.c $(incdir)/gettext.h $(incdir)/missing.h \
strtonum.lo: $(srcdir)/strtonum.c $(incdir)/gettext.h $(incdir)/missing.h \ strtonum.lo: $(srcdir)/strtonum.c $(incdir)/gettext.h $(incdir)/missing.h \
$(top_builddir)/config.h $(top_builddir)/config.h
$(LIBTOOL) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/strtonum.c $(LIBTOOL) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/strtonum.c
sudo_conf.lo: $(srcdir)/sudo_conf.c $(incdir)/alloc.h \ sudo_conf.lo: $(srcdir)/sudo_conf.c $(incdir)/compat/stdbool.h \
$(incdir)/compat/stdbool.h $(incdir)/fatal.h $(incdir)/gettext.h \ $(incdir)/fatal.h $(incdir)/gettext.h $(incdir)/missing.h \
$(incdir)/missing.h $(incdir)/queue.h $(incdir)/secure_path.h \ $(incdir)/queue.h $(incdir)/secure_path.h $(incdir)/sudo_alloc.h \
$(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \
$(incdir)/sudo_plugin.h $(incdir)/sudo_util.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_util.h \
$(top_builddir)/config.h $(top_builddir)/pathnames.h $(top_builddir)/config.h $(top_builddir)/pathnames.h
$(LIBTOOL) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/sudo_conf.c $(LIBTOOL) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/sudo_conf.c
sudo_debug.lo: $(srcdir)/sudo_debug.c $(incdir)/alloc.h \ sudo_debug.lo: $(srcdir)/sudo_debug.c $(incdir)/compat/stdbool.h \
$(incdir)/compat/stdbool.h $(incdir)/fatal.h \ $(incdir)/fatal.h $(incdir)/gettext.h $(incdir)/missing.h \
$(incdir)/gettext.h $(incdir)/missing.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_alloc.h $(incdir)/sudo_debug.h \
$(incdir)/sudo_plugin.h $(incdir)/sudo_util.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_util.h \
$(top_builddir)/config.h $(top_builddir)/config.h
$(LIBTOOL) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/sudo_debug.c $(LIBTOOL) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/sudo_debug.c

View File

@ -35,7 +35,7 @@
#include "gettext.h" /* must be included before missing.h */ #include "gettext.h" /* must be included before missing.h */
#include "missing.h" #include "missing.h"
#include "alloc.h" #include "sudo_alloc.h"
#include "fatal.h" #include "fatal.h"
#include "sudo_debug.h" #include "sudo_debug.h"
#include "sudo_util.h" #include "sudo_util.h"
@ -187,7 +187,7 @@ aix_prep_user(char *user, const char *tty)
debug_decl(aix_setauthdb, SUDO_DEBUG_UTIL) debug_decl(aix_setauthdb, SUDO_DEBUG_UTIL)
/* set usrinfo, like login(1) does */ /* set usrinfo, like login(1) does */
len = easprintf(&info, "NAME=%s%cLOGIN=%s%cLOGNAME=%s%cTTY=%s%c", len = sudo_easprintf(&info, "NAME=%s%cLOGIN=%s%cLOGNAME=%s%cTTY=%s%c",
user, '\0', user, '\0', user, '\0', tty ? tty : "", '\0'); user, '\0', user, '\0', user, '\0', tty ? tty : "", '\0');
(void)usrinfo(SETUINFO, info, len); (void)usrinfo(SETUINFO, info, len);
efree(info); efree(info);

View File

@ -52,13 +52,13 @@
#include "gettext.h" /* must be included before missing.h */ #include "gettext.h" /* must be included before missing.h */
#include "missing.h" #include "missing.h"
#include "alloc.h" #include "sudo_alloc.h"
#include "fatal.h" #include "fatal.h"
/* /*
* If there is no SIZE_MAX or SIZE_T_MAX we have to assume that size_t * If there is no SIZE_MAX or SIZE_T_MAX we have to assume that size_t
* could be signed (as it is on SunOS 4.x). This just means that * could be signed (as it is on SunOS 4.x). This just means that
* emallocarray() and ereallocarray() cannot allocate huge amounts on such a * sudo_emallocarray() and sudo_ereallocarray() cannot allocate huge amounts on such a
* platform but that is OK since sudo doesn't need to do so anyway. * platform but that is OK since sudo doesn't need to do so anyway.
*/ */
#ifndef SIZE_MAX #ifndef SIZE_MAX
@ -70,16 +70,16 @@
#endif /* SIZE_MAX */ #endif /* SIZE_MAX */
/* /*
* emalloc() calls the system malloc(3) and exits with an error if * sudo_emalloc() calls the system malloc(3) and exits with an error if
* malloc(3) fails. * malloc(3) fails.
*/ */
void * void *
emalloc(size_t size) sudo_emalloc(size_t size)
{ {
void *ptr; void *ptr;
if (size == 0) if (size == 0)
sudo_fatalx_nodebug(_("internal error, tried to emalloc(0)")); sudo_fatalx_nodebug(_("internal error, tried allocate zero bytes"));
if ((ptr = malloc(size)) == NULL) if ((ptr = malloc(size)) == NULL)
sudo_fatal_nodebug(NULL); sudo_fatal_nodebug(NULL);
@ -87,18 +87,18 @@ emalloc(size_t size)
} }
/* /*
* emallocarray() allocates nmemb * size bytes and exits with an error * sudo_emallocarray() allocates nmemb * size bytes and exits with an error
* if overflow would occur or if the system malloc(3) fails. * if overflow would occur or if the system malloc(3) fails.
*/ */
void * void *
emallocarray(size_t nmemb, size_t size) sudo_emallocarray(size_t nmemb, size_t size)
{ {
void *ptr; void *ptr;
if (nmemb == 0 || size == 0) if (nmemb == 0 || size == 0)
sudo_fatalx_nodebug(_("internal error, tried to emallocarray(0)")); sudo_fatalx_nodebug(_("internal error, tried allocate zero bytes"));
if (nmemb > SIZE_MAX / size) if (nmemb > SIZE_MAX / size)
sudo_fatalx_nodebug(_("internal error, %s overflow"), "emallocarray"); sudo_fatalx_nodebug(_("internal error, %s overflow"), "sudo_emallocarray");
size *= nmemb; size *= nmemb;
if ((ptr = malloc(size)) == NULL) if ((ptr = malloc(size)) == NULL)
@ -107,20 +107,20 @@ emallocarray(size_t nmemb, size_t size)
} }
/* /*
* ecalloc() allocates nmemb * size bytes and exits with an error * sudo_ecalloc() allocates nmemb * size bytes and exits with an error
* if overflow would occur or if the system malloc(3) fails. * if overflow would occur or if the system malloc(3) fails.
* On success, the allocated space is zero-filled. * On success, the allocated space is zero-filled.
*/ */
void * void *
ecalloc(size_t nmemb, size_t size) sudo_ecalloc(size_t nmemb, size_t size)
{ {
void *ptr; void *ptr;
if (nmemb == 0 || size == 0) if (nmemb == 0 || size == 0)
sudo_fatalx_nodebug(_("internal error, tried to ecalloc(0)")); sudo_fatalx_nodebug(_("internal error, tried allocate zero bytes"));
if (nmemb != 1) { if (nmemb != 1) {
if (nmemb > SIZE_MAX / size) if (nmemb > SIZE_MAX / size)
sudo_fatalx_nodebug(_("internal error, %s overflow"), "ecalloc"); sudo_fatalx_nodebug(_("internal error, %s overflow"), "sudo_ecalloc");
size *= nmemb; size *= nmemb;
} }
if ((ptr = malloc(size)) == NULL) if ((ptr = malloc(size)) == NULL)
@ -130,16 +130,16 @@ ecalloc(size_t nmemb, size_t size)
} }
/* /*
* erealloc() calls the system realloc(3) and exits with an error if * sudo_erealloc() calls the system realloc(3) and exits with an error if
* realloc(3) fails. You can call erealloc() with a NULL pointer even * realloc(3) fails. You can call sudo_erealloc() with a NULL pointer even
* if the system realloc(3) does not support this. * if the system realloc(3) does not support this.
*/ */
void * void *
erealloc(void *ptr, size_t size) sudo_erealloc(void *ptr, size_t size)
{ {
if (size == 0) if (size == 0)
sudo_fatalx_nodebug(_("internal error, tried to erealloc(0)")); sudo_fatalx_nodebug(_("internal error, tried allocate zero bytes"));
ptr = ptr ? realloc(ptr, size) : malloc(size); ptr = ptr ? realloc(ptr, size) : malloc(size);
if (ptr == NULL) if (ptr == NULL)
@ -148,19 +148,19 @@ erealloc(void *ptr, size_t size)
} }
/* /*
* ereallocarray() realloc(3)s nmemb * size bytes and exits with an error * sudo_ereallocarray() sudo_realloc(3)s nmemb * size bytes and exits with an
* if overflow would occur or if the system malloc(3)/realloc(3) fails. * error if overflow would occur or if the system malloc(3)/realloc(3) fails.
* You can call erealloc() with a NULL pointer even if the system realloc(3) * You can call sudo_ereallocarray() with a NULL pointer even if the system
* does not support this. * realloc(3) does not support this.
*/ */
void * void *
ereallocarray(void *ptr, size_t nmemb, size_t size) sudo_ereallocarray(void *ptr, size_t nmemb, size_t size)
{ {
if (nmemb == 0 || size == 0) if (nmemb == 0 || size == 0)
sudo_fatalx_nodebug(_("internal error, tried to ereallocarray(0)")); sudo_fatalx_nodebug(_("internal error, tried allocate zero bytes"));
if (nmemb > SIZE_MAX / size) if (nmemb > SIZE_MAX / size)
sudo_fatalx_nodebug(_("internal error, %s overflow"), "ereallocarray"); sudo_fatalx_nodebug(_("internal error, %s overflow"), "sudo_ereallocarray");
size *= nmemb; size *= nmemb;
ptr = ptr ? realloc(ptr, size) : malloc(size); ptr = ptr ? realloc(ptr, size) : malloc(size);
@ -170,20 +170,20 @@ ereallocarray(void *ptr, size_t nmemb, size_t size)
} }
/* /*
* erecalloc() realloc(3)s nmemb * msize bytes and exits with an error * sudo_ersudo_ecalloc() realloc(3)s nmemb * msize bytes and exits with an error
* if overflow would occur or if the system malloc(3)/realloc(3) fails. * if overflow would occur or if the system malloc(3)/realloc(3) fails.
* On success, the new space is zero-filled. You can call erealloc() * On success, the new space is zero-filled. You can call sudo_erealloc()
* with a NULL pointer even if the system realloc(3) does not support this. * with a NULL pointer even if the system realloc(3) does not support this.
*/ */
void * void *
erecalloc(void *ptr, size_t onmemb, size_t nmemb, size_t msize) ersudo_ecalloc(void *ptr, size_t onmemb, size_t nmemb, size_t msize)
{ {
size_t size; size_t size;
if (nmemb == 0 || msize == 0) if (nmemb == 0 || msize == 0)
sudo_fatalx_nodebug(_("internal error, tried to erecalloc(0)")); sudo_fatalx_nodebug(_("internal error, tried allocate zero bytes"));
if (nmemb > SIZE_MAX / msize) if (nmemb > SIZE_MAX / msize)
sudo_fatalx_nodebug(_("internal error, %s overflow"), "erecalloc"); sudo_fatalx_nodebug(_("internal error, %s overflow"), "ersudo_ecalloc");
size = nmemb * msize; size = nmemb * msize;
ptr = ptr ? realloc(ptr, size) : malloc(size); ptr = ptr ? realloc(ptr, size) : malloc(size);
@ -197,18 +197,18 @@ erecalloc(void *ptr, size_t onmemb, size_t nmemb, size_t msize)
} }
/* /*
* estrdup() is like strdup(3) except that it exits with an error if * sudo_estrdup() is like strdup(3) except that it exits with an error if
* malloc(3) fails. NOTE: unlike strdup(3), estrdup(NULL) is legal. * malloc(3) fails. NOTE: unlike strdup(3), sudo_estrdup(NULL) is legal.
*/ */
char * char *
estrdup(const char *src) sudo_estrdup(const char *src)
{ {
char *dst = NULL; char *dst = NULL;
size_t len; size_t len;
if (src != NULL) { if (src != NULL) {
len = strlen(src); len = strlen(src);
dst = (char *) emalloc(len + 1); dst = (char *) sudo_emalloc(len + 1);
(void) memcpy(dst, src, len); (void) memcpy(dst, src, len);
dst[len] = '\0'; dst[len] = '\0';
} }
@ -216,11 +216,11 @@ estrdup(const char *src)
} }
/* /*
* estrdup() is like strndup(3) except that it exits with an error if * sudo_estrndup() is like strndup(3) except that it exits with an error if
* malloc(3) fails. NOTE: unlike strdup(3), estrdup(NULL) is legal. * malloc(3) fails. NOTE: unlike strdup(3), sudo_estrdup(NULL) is legal.
*/ */
char * char *
estrndup(const char *src, size_t maxlen) sudo_estrndup(const char *src, size_t maxlen)
{ {
char *dst = NULL; char *dst = NULL;
size_t len = 0; size_t len = 0;
@ -230,7 +230,7 @@ estrndup(const char *src, size_t maxlen)
len++; len++;
maxlen--; maxlen--;
} }
dst = (char *) emalloc(len + 1); dst = (char *) sudo_emalloc(len + 1);
(void) memcpy(dst, src, len); (void) memcpy(dst, src, len);
dst[len] = '\0'; dst[len] = '\0';
} }
@ -238,11 +238,11 @@ estrndup(const char *src, size_t maxlen)
} }
/* /*
* easprintf() calls vasprintf() and exits with an error if vasprintf() * sudo_easprintf() calls vasprintf() and exits with an error if vasprintf()
* returns -1 (out of memory). * returns -1 (out of memory).
*/ */
int int
easprintf(char **ret, const char *fmt, ...) sudo_easprintf(char **ret, const char *fmt, ...)
{ {
int len; int len;
va_list ap; va_list ap;
@ -257,11 +257,11 @@ easprintf(char **ret, const char *fmt, ...)
} }
/* /*
* evasprintf() calls vasprintf() and exits with an error if vasprintf() * sudo_evasprintf() calls vasprintf() and exits with an error if vasprintf()
* returns -1 (out of memory). * returns -1 (out of memory).
*/ */
int int
evasprintf(char **ret, const char *format, va_list args) sudo_evasprintf(char **ret, const char *format, va_list args)
{ {
int len; int len;

View File

@ -44,7 +44,7 @@
#include <errno.h> #include <errno.h>
#include "missing.h" #include "missing.h"
#include "alloc.h" #include "sudo_alloc.h"
#include "fatal.h" #include "fatal.h"
#include "sudo_debug.h" #include "sudo_debug.h"
#include "sudo_event.h" #include "sudo_event.h"
@ -58,7 +58,7 @@ sudo_ev_base_alloc(void)
struct sudo_event_base *base; struct sudo_event_base *base;
debug_decl(sudo_ev_base_alloc, SUDO_DEBUG_EVENT) debug_decl(sudo_ev_base_alloc, SUDO_DEBUG_EVENT)
base = ecalloc(1, sizeof(*base)); base = sudo_ecalloc(1, sizeof(*base));
TAILQ_INIT(&base->events); TAILQ_INIT(&base->events);
TAILQ_INIT(&base->timeouts); TAILQ_INIT(&base->timeouts);
if (sudo_ev_base_alloc_impl(base) != 0) { if (sudo_ev_base_alloc_impl(base) != 0) {
@ -93,7 +93,7 @@ sudo_ev_alloc(int fd, short events, sudo_ev_callback_t callback, void *closure)
/* XXX - sanity check events value */ /* XXX - sanity check events value */
ev = ecalloc(1, sizeof(*ev)); ev = sudo_ecalloc(1, sizeof(*ev));
ev->fd = fd; ev->fd = fd;
ev->events = events; ev->events = events;
ev->pfd_idx = -1; ev->pfd_idx = -1;

View File

@ -45,7 +45,7 @@
#include <poll.h> #include <poll.h>
#include "missing.h" #include "missing.h"
#include "alloc.h" #include "sudo_alloc.h"
#include "fatal.h" #include "fatal.h"
#include "sudo_debug.h" #include "sudo_debug.h"
#include "sudo_event.h" #include "sudo_event.h"
@ -60,7 +60,7 @@ sudo_ev_base_alloc_impl(struct sudo_event_base *base)
base->pfd_high = -1; base->pfd_high = -1;
base->pfd_max = 32; base->pfd_max = 32;
base->pfds = ereallocarray(NULL, base->pfd_max, sizeof(struct pollfd)); base->pfds = sudo_ereallocarray(NULL, base->pfd_max, sizeof(struct pollfd));
for (i = 0; i < base->pfd_max; i++) { for (i = 0; i < base->pfd_max; i++) {
base->pfds[i].fd = -1; base->pfds[i].fd = -1;
} }
@ -87,7 +87,7 @@ sudo_ev_add_impl(struct sudo_event_base *base, struct sudo_event *ev)
int i; int i;
base->pfd_max <<= 1; base->pfd_max <<= 1;
base->pfds = base->pfds =
ereallocarray(base->pfds, base->pfd_max, sizeof(struct pollfd)); sudo_ereallocarray(base->pfds, base->pfd_max, sizeof(struct pollfd));
for (i = base->pfd_free; i < base->pfd_max; i++) { for (i = base->pfd_free; i < base->pfd_max; i++) {
base->pfds[i].fd = -1; base->pfds[i].fd = -1;
} }

View File

@ -50,7 +50,7 @@
#include <errno.h> #include <errno.h>
#include "missing.h" #include "missing.h"
#include "alloc.h" #include "sudo_alloc.h"
#include "fatal.h" #include "fatal.h"
#include "sudo_debug.h" #include "sudo_debug.h"
#include "sudo_event.h" #include "sudo_event.h"
@ -64,10 +64,10 @@ sudo_ev_base_alloc_impl(struct sudo_event_base *base)
debug_decl(sudo_ev_base_alloc_impl, SUDO_DEBUG_EVENT) debug_decl(sudo_ev_base_alloc_impl, SUDO_DEBUG_EVENT)
base->maxfd = NFDBITS - 1; base->maxfd = NFDBITS - 1;
base->readfds_in = ecalloc(1, sizeof(fd_mask)); base->readfds_in = sudo_ecalloc(1, sizeof(fd_mask));
base->writefds_in = ecalloc(1, sizeof(fd_mask)); base->writefds_in = sudo_ecalloc(1, sizeof(fd_mask));
base->readfds_out = ecalloc(1, sizeof(fd_mask)); base->readfds_out = sudo_ecalloc(1, sizeof(fd_mask));
base->writefds_out = ecalloc(1, sizeof(fd_mask)); base->writefds_out = sudo_ecalloc(1, sizeof(fd_mask));
debug_return_int(0); debug_return_int(0);
} }
@ -92,10 +92,10 @@ sudo_ev_add_impl(struct sudo_event_base *base, struct sudo_event *ev)
if (ev->fd > base->maxfd) { if (ev->fd > base->maxfd) {
const int o = (base->maxfd + 1) / NFDBITS; const int o = (base->maxfd + 1) / NFDBITS;
const int n = howmany(ev->fd + 1, NFDBITS); const int n = howmany(ev->fd + 1, NFDBITS);
base->readfds_in = erecalloc(base->readfds_in, o, n, sizeof(fd_mask)); base->readfds_in = ersudo_ecalloc(base->readfds_in, o, n, sizeof(fd_mask));
base->writefds_in = erecalloc(base->writefds_in, o, n, sizeof(fd_mask)); base->writefds_in = ersudo_ecalloc(base->writefds_in, o, n, sizeof(fd_mask));
base->readfds_out = erecalloc(base->readfds_out, o, n, sizeof(fd_mask)); base->readfds_out = ersudo_ecalloc(base->readfds_out, o, n, sizeof(fd_mask));
base->writefds_out = erecalloc(base->writefds_out, o, n, sizeof(fd_mask)); base->writefds_out = ersudo_ecalloc(base->writefds_out, o, n, sizeof(fd_mask));
base->maxfd = (n * NFDBITS) - 1; base->maxfd = (n * NFDBITS) - 1;
} }

View File

@ -32,7 +32,7 @@
#include "gettext.h" /* must be included before missing.h */ #include "gettext.h" /* must be included before missing.h */
#include "missing.h" #include "missing.h"
#include "alloc.h" #include "sudo_alloc.h"
#include "fatal.h" #include "fatal.h"
#include "queue.h" #include "queue.h"
#include "sudo_plugin.h" #include "sudo_plugin.h"
@ -137,7 +137,7 @@ _warning(int use_errno, const char *fmt, va_list ap)
int serrno = errno; int serrno = errno;
char *str; char *str;
evasprintf(&str, fmt, ap); sudo_evasprintf(&str, fmt, ap);
if (use_errno) { if (use_errno) {
if (fmt != NULL) { if (fmt != NULL) {
sudo_printf(SUDO_CONV_ERROR_MSG, sudo_printf(SUDO_CONV_ERROR_MSG,

View File

@ -33,7 +33,7 @@
#include "gettext.h" /* must be included before missing.h */ #include "gettext.h" /* must be included before missing.h */
#include "missing.h" #include "missing.h"
#include "alloc.h" #include "sudo_alloc.h"
#include "fatal.h" #include "fatal.h"
#include "sudo_debug.h" #include "sudo_debug.h"
#include "sudo_util.h" #include "sudo_util.h"
@ -67,7 +67,7 @@ sudo_parse_gids(const char *gidstr, const gid_t *basegid, GETGROUPS_T **gidsp)
ngids++; ngids++;
/* Allocate and fill in array. */ /* Allocate and fill in array. */
if (ngids != 0) { if (ngids != 0) {
gids = emallocarray(ngids, sizeof(GETGROUPS_T)); gids = sudo_emallocarray(ngids, sizeof(GETGROUPS_T));
ngids = 0; ngids = 0;
if (basegid != NULL) if (basegid != NULL)
gids[ngids++] = *basegid; gids[ngids++] = *basegid;

View File

@ -43,7 +43,7 @@
#include <ctype.h> #include <ctype.h>
#include "missing.h" #include "missing.h"
#include "alloc.h" #include "sudo_alloc.h"
#include "fatal.h" #include "fatal.h"
#include "sudo_lbuf.h" #include "sudo_lbuf.h"
#include "sudo_debug.h" #include "sudo_debug.h"
@ -83,7 +83,7 @@ sudo_lbuf_expand(struct sudo_lbuf *lbuf, int extra)
do { do {
lbuf->size += 256; lbuf->size += 256;
} while (lbuf->len + extra + 1 >= lbuf->size); } while (lbuf->len + extra + 1 >= lbuf->size);
lbuf->buf = erealloc(lbuf->buf, lbuf->size); lbuf->buf = sudo_erealloc(lbuf->buf, lbuf->size);
} }
} }

View File

@ -51,7 +51,7 @@
#define SUDO_ERROR_WRAP 0 #define SUDO_ERROR_WRAP 0
#include "missing.h" #include "missing.h"
#include "alloc.h" #include "sudo_alloc.h"
#include "fatal.h" #include "fatal.h"
#include "pathnames.h" #include "pathnames.h"
#include "sudo_plugin.h" #include "sudo_plugin.h"
@ -234,8 +234,8 @@ set_debug(const char *entry, const char *conf_file)
debug_flags++; debug_flags++;
/* Set debug file and parse the flags (init debug as soon as possible). */ /* Set debug file and parse the flags (init debug as soon as possible). */
debug_file = estrndup(entry, filelen); debug_file = sudo_estrndup(entry, filelen);
debug_flags = estrdup(debug_flags); debug_flags = sudo_estrdup(debug_flags);
sudo_debug_init(debug_file, debug_flags); sudo_debug_init(debug_file, debug_flags);
efree(debug_file); efree(debug_file);
@ -260,7 +260,7 @@ set_path(const char *entry, const char *conf_file)
for (cur = sudo_conf_data.paths; cur->pname != NULL; cur++) { for (cur = sudo_conf_data.paths; cur->pname != NULL; cur++) {
if (strncasecmp(name, cur->pname, cur->pnamelen) == 0 && if (strncasecmp(name, cur->pname, cur->pnamelen) == 0 &&
isblank((unsigned char)name[cur->pnamelen])) { isblank((unsigned char)name[cur->pnamelen])) {
cur->pval = estrdup(path); cur->pval = sudo_estrdup(path);
break; break;
} }
} }
@ -293,24 +293,24 @@ set_plugin(const char *entry, const char *conf_file)
while (isblank((unsigned char)*ep)) while (isblank((unsigned char)*ep))
ep++; ep++;
} }
options = emallocarray(nopts + 1, sizeof(*options)); options = sudo_emallocarray(nopts + 1, sizeof(*options));
/* Fill in options array, there is at least one element. */ /* Fill in options array, there is at least one element. */
for (nopts = 0; (ep = strpbrk(cp, " \t")) != NULL; ) { for (nopts = 0; (ep = strpbrk(cp, " \t")) != NULL; ) {
options[nopts++] = estrndup(cp, (size_t)(ep - cp)); options[nopts++] = sudo_estrndup(cp, (size_t)(ep - cp));
while (isblank((unsigned char)*ep)) while (isblank((unsigned char)*ep))
ep++; ep++;
cp = ep; cp = ep;
} }
options[nopts++] = estrdup(cp); options[nopts++] = sudo_estrdup(cp);
options[nopts] = NULL; options[nopts] = NULL;
} else { } else {
/* No extra options. */ /* No extra options. */
pathlen = strlen(path); pathlen = strlen(path);
} }
info = ecalloc(1, sizeof(*info)); info = sudo_ecalloc(1, sizeof(*info));
info->symbol_name = estrndup(name, namelen); info->symbol_name = sudo_estrndup(name, namelen);
info->path = estrndup(path, pathlen); info->path = sudo_estrndup(path, pathlen);
info->options = options; info->options = options;
info->lineno = conf_lineno; info->lineno = conf_lineno;
TAILQ_INSERT_TAIL(&sudo_conf_data.plugins, info, entries); TAILQ_INSERT_TAIL(&sudo_conf_data.plugins, info, entries);
@ -390,7 +390,7 @@ sudo_conf_read(const char *conf_file)
struct stat sb; struct stat sb;
FILE *fp; FILE *fp;
char *cp, *line = NULL; char *cp, *line = NULL;
char *prev_locale = estrdup(setlocale(LC_ALL, NULL)); char *prev_locale = sudo_estrdup(setlocale(LC_ALL, NULL));
size_t linesize = 0; size_t linesize = 0;
/* Parse sudo.conf in the "C" locale. */ /* Parse sudo.conf in the "C" locale. */

View File

@ -51,7 +51,7 @@
#include "gettext.h" /* must be included before missing.h */ #include "gettext.h" /* must be included before missing.h */
#include "missing.h" #include "missing.h"
#include "alloc.h" #include "sudo_alloc.h"
#include "fatal.h" #include "fatal.h"
#include "sudo_plugin.h" #include "sudo_plugin.h"
#include "sudo_debug.h" #include "sudo_debug.h"

View File

@ -26,20 +26,6 @@ atobool
atoid atoid
atomode atomode
closefrom_fallback closefrom_fallback
easprintf
ecalloc
emalloc
emallocarray
erealloc
ereallocarray
erecalloc
estrdup
estrndup
evasprintf
sudo_fatal_callback_deregister
sudo_fatal_callback_register
sudo_fatal_nodebug
sudo_fatalx_nodebug
getprogname getprogname
initprogname initprogname
isblank isblank
@ -81,6 +67,15 @@ sudo_dso_load
sudo_dso_preload_table sudo_dso_preload_table
sudo_dso_strerror sudo_dso_strerror
sudo_dso_unload sudo_dso_unload
sudo_easprintf
sudo_ecalloc
sudo_emalloc
sudo_emallocarray
sudo_erealloc
sudo_ereallocarray
sudo_erecalloc
sudo_estrdup
sudo_estrndup
sudo_ev_add sudo_ev_add
sudo_ev_alloc sudo_ev_alloc
sudo_ev_base_alloc sudo_ev_base_alloc
@ -94,6 +89,11 @@ sudo_ev_loop
sudo_ev_loopbreak sudo_ev_loopbreak
sudo_ev_loopcontinue sudo_ev_loopcontinue
sudo_ev_loopexit sudo_ev_loopexit
sudo_evasprintf
sudo_fatal_callback_deregister
sudo_fatal_callback_register
sudo_fatal_nodebug
sudo_fatalx_nodebug
sudo_fnmatch sudo_fnmatch
sudo_freeaddrinfo sudo_freeaddrinfo
sudo_futimes sudo_futimes
@ -141,9 +141,9 @@ sudo_term_raw
sudo_term_restore sudo_term_restore
sudo_utimes sudo_utimes
sudo_vasprintf sudo_vasprintf
sudo_vsnprintf
sudo_vfatal_nodebug sudo_vfatal_nodebug
sudo_vfatalx_nodebug sudo_vfatalx_nodebug
sudo_vsnprintf
sudo_vwarn_nodebug sudo_vwarn_nodebug
sudo_vwarnx_nodebug sudo_vwarnx_nodebug
sudo_warn_gettext sudo_warn_gettext

View File

@ -438,24 +438,24 @@ realclean: distclean
cleandir: realclean cleandir: realclean
# Autogenerated dependencies, do not modify # Autogenerated dependencies, do not modify
afs.lo: $(authdir)/afs.c $(devdir)/def_data.h $(incdir)/alloc.h \ afs.lo: $(authdir)/afs.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \
$(incdir)/compat/stdbool.h $(incdir)/fatal.h $(incdir)/gettext.h \ $(incdir)/fatal.h $(incdir)/gettext.h $(incdir)/missing.h \
$(incdir)/missing.h $(incdir)/queue.h $(incdir)/sudo_debug.h \ $(incdir)/queue.h $(incdir)/sudo_alloc.h $(incdir)/sudo_debug.h \
$(incdir)/sudo_plugin.h $(incdir)/sudo_util.h $(srcdir)/defaults.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_util.h $(srcdir)/defaults.h \
$(srcdir)/logging.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ $(srcdir)/logging.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \
$(top_builddir)/config.h $(top_builddir)/pathnames.h $(top_builddir)/config.h $(top_builddir)/pathnames.h
$(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(authdir)/afs.c $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(authdir)/afs.c
aix_auth.lo: $(authdir)/aix_auth.c $(devdir)/def_data.h $(incdir)/alloc.h \ aix_auth.lo: $(authdir)/aix_auth.c $(devdir)/def_data.h \
$(incdir)/compat/stdbool.h $(incdir)/fatal.h $(incdir)/gettext.h \ $(incdir)/compat/stdbool.h $(incdir)/fatal.h $(incdir)/gettext.h \
$(incdir)/missing.h $(incdir)/queue.h $(incdir)/sudo_debug.h \ $(incdir)/missing.h $(incdir)/queue.h $(incdir)/sudo_alloc.h \
$(incdir)/sudo_plugin.h $(incdir)/sudo_util.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_plugin.h \
$(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/sudo_nss.h \ $(incdir)/sudo_util.h $(srcdir)/defaults.h $(srcdir)/logging.h \
$(srcdir)/sudoers.h $(top_builddir)/config.h \ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(top_builddir)/config.h \
$(top_builddir)/pathnames.h $(top_builddir)/pathnames.h
$(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(authdir)/aix_auth.c $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(authdir)/aix_auth.c
alias.lo: $(srcdir)/alias.c $(devdir)/def_data.h $(devdir)/gram.h \ alias.lo: $(srcdir)/alias.c $(devdir)/def_data.h $(devdir)/gram.h \
$(incdir)/alloc.h $(incdir)/compat/stdbool.h $(incdir)/fatal.h \ $(incdir)/compat/stdbool.h $(incdir)/fatal.h $(incdir)/gettext.h \
$(incdir)/gettext.h $(incdir)/missing.h $(incdir)/queue.h \ $(incdir)/missing.h $(incdir)/queue.h $(incdir)/sudo_alloc.h \
$(incdir)/sudo_debug.h $(incdir)/sudo_plugin.h $(incdir)/sudo_util.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_plugin.h $(incdir)/sudo_util.h \
$(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \ $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \
$(srcdir)/redblack.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ $(srcdir)/redblack.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \
@ -472,28 +472,29 @@ base64.o: base64.lo
boottime.lo: $(srcdir)/boottime.c $(incdir)/compat/stdbool.h \ boottime.lo: $(srcdir)/boottime.c $(incdir)/compat/stdbool.h \
$(incdir)/missing.h $(incdir)/sudo_debug.h $(top_builddir)/config.h $(incdir)/missing.h $(incdir)/sudo_debug.h $(top_builddir)/config.h
$(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/boottime.c $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/boottime.c
bsdauth.lo: $(authdir)/bsdauth.c $(devdir)/def_data.h $(incdir)/alloc.h \ bsdauth.lo: $(authdir)/bsdauth.c $(devdir)/def_data.h \
$(incdir)/compat/stdbool.h $(incdir)/fatal.h $(incdir)/gettext.h \ $(incdir)/compat/stdbool.h $(incdir)/fatal.h $(incdir)/gettext.h \
$(incdir)/missing.h $(incdir)/queue.h $(incdir)/sudo_debug.h \ $(incdir)/missing.h $(incdir)/queue.h $(incdir)/sudo_alloc.h \
$(incdir)/sudo_plugin.h $(incdir)/sudo_util.h $(srcdir)/defaults.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_plugin.h \
$(srcdir)/logging.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ $(incdir)/sudo_util.h $(srcdir)/defaults.h $(srcdir)/logging.h \
$(top_builddir)/config.h $(top_builddir)/pathnames.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(top_builddir)/config.h \
$(top_builddir)/pathnames.h
$(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(authdir)/bsdauth.c $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(authdir)/bsdauth.c
bsm_audit.lo: $(srcdir)/bsm_audit.c $(incdir)/fatal.h $(incdir)/gettext.h \ bsm_audit.lo: $(srcdir)/bsm_audit.c $(incdir)/fatal.h $(incdir)/gettext.h \
$(incdir)/missing.h $(incdir)/sudo_debug.h $(srcdir)/bsm_audit.h \ $(incdir)/missing.h $(incdir)/sudo_debug.h $(srcdir)/bsm_audit.h \
$(top_builddir)/config.h $(top_builddir)/config.h
$(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/bsm_audit.c $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/bsm_audit.c
check.lo: $(srcdir)/check.c $(devdir)/def_data.h $(incdir)/alloc.h \ check.lo: $(srcdir)/check.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \
$(incdir)/compat/stdbool.h $(incdir)/fatal.h $(incdir)/gettext.h \ $(incdir)/fatal.h $(incdir)/gettext.h $(incdir)/missing.h \
$(incdir)/missing.h $(incdir)/queue.h $(incdir)/sudo_debug.h \ $(incdir)/queue.h $(incdir)/sudo_alloc.h $(incdir)/sudo_debug.h \
$(incdir)/sudo_plugin.h $(incdir)/sudo_util.h $(srcdir)/check.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_util.h $(srcdir)/check.h \
$(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/sudo_nss.h \ $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/sudo_nss.h \
$(srcdir)/sudoers.h $(top_builddir)/config.h \ $(srcdir)/sudoers.h $(top_builddir)/config.h \
$(top_builddir)/pathnames.h $(top_builddir)/pathnames.h
$(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/check.c $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/check.c
check_addr.o: $(srcdir)/regress/parser/check_addr.c $(devdir)/def_data.h \ check_addr.o: $(srcdir)/regress/parser/check_addr.c $(devdir)/def_data.h \
$(incdir)/alloc.h $(incdir)/compat/stdbool.h $(incdir)/fatal.h \ $(incdir)/compat/stdbool.h $(incdir)/fatal.h $(incdir)/gettext.h \
$(incdir)/gettext.h $(incdir)/missing.h $(incdir)/queue.h \ $(incdir)/missing.h $(incdir)/queue.h $(incdir)/sudo_alloc.h \
$(incdir)/sudo_debug.h $(incdir)/sudo_plugin.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_plugin.h \
$(incdir)/sudo_util.h $(srcdir)/defaults.h \ $(incdir)/sudo_util.h $(srcdir)/defaults.h \
$(srcdir)/interfaces.h $(srcdir)/logging.h $(srcdir)/parse.h \ $(srcdir)/interfaces.h $(srcdir)/logging.h $(srcdir)/parse.h \
@ -514,9 +515,9 @@ check_fill.o: $(srcdir)/regress/parser/check_fill.c $(devdir)/gram.h \
$(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/regress/parser/check_fill.c $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/regress/parser/check_fill.c
check_iolog_path.o: $(srcdir)/regress/iolog_path/check_iolog_path.c \ check_iolog_path.o: $(srcdir)/regress/iolog_path/check_iolog_path.c \
$(devdir)/def_data.c $(devdir)/def_data.h \ $(devdir)/def_data.c $(devdir)/def_data.h \
$(incdir)/alloc.h $(incdir)/compat/stdbool.h \ $(incdir)/compat/stdbool.h $(incdir)/fatal.h \
$(incdir)/fatal.h $(incdir)/gettext.h $(incdir)/missing.h \ $(incdir)/gettext.h $(incdir)/missing.h $(incdir)/queue.h \
$(incdir)/queue.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_alloc.h $(incdir)/sudo_debug.h \
$(incdir)/sudo_plugin.h $(incdir)/sudo_util.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_util.h \
$(srcdir)/defaults.h $(srcdir)/logging.h \ $(srcdir)/defaults.h $(srcdir)/logging.h \
$(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \
@ -532,351 +533,362 @@ check_wrap.o: $(srcdir)/regress/logging/check_wrap.c \
$(incdir)/sudo_plugin.h $(incdir)/sudo_util.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_util.h \
$(top_builddir)/config.h $(top_builddir)/config.h
$(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/regress/logging/check_wrap.c $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/regress/logging/check_wrap.c
dce.lo: $(authdir)/dce.c $(devdir)/def_data.h $(incdir)/alloc.h \ dce.lo: $(authdir)/dce.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \
$(incdir)/compat/stdbool.h $(incdir)/fatal.h $(incdir)/gettext.h \ $(incdir)/fatal.h $(incdir)/gettext.h $(incdir)/missing.h \
$(incdir)/missing.h $(incdir)/queue.h $(incdir)/sudo_debug.h \ $(incdir)/queue.h $(incdir)/sudo_alloc.h $(incdir)/sudo_debug.h \
$(incdir)/sudo_plugin.h $(incdir)/sudo_util.h $(srcdir)/defaults.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_util.h $(srcdir)/defaults.h \
$(srcdir)/logging.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ $(srcdir)/logging.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \
$(top_builddir)/config.h $(top_builddir)/pathnames.h $(top_builddir)/config.h $(top_builddir)/pathnames.h
$(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(authdir)/dce.c $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(authdir)/dce.c
defaults.lo: $(srcdir)/defaults.c $(devdir)/def_data.c $(devdir)/def_data.h \ defaults.lo: $(srcdir)/defaults.c $(devdir)/def_data.c $(devdir)/def_data.h \
$(devdir)/gram.h $(incdir)/alloc.h $(incdir)/compat/stdbool.h \ $(devdir)/gram.h $(incdir)/compat/stdbool.h $(incdir)/fatal.h \
$(incdir)/fatal.h $(incdir)/gettext.h $(incdir)/missing.h \ $(incdir)/gettext.h $(incdir)/missing.h $(incdir)/queue.h \
$(incdir)/queue.h $(incdir)/sudo_debug.h $(incdir)/sudo_plugin.h \ $(incdir)/sudo_alloc.h $(incdir)/sudo_debug.h \
$(incdir)/sudo_util.h $(srcdir)/defaults.h $(srcdir)/logging.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_util.h \
$(srcdir)/parse.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \
$(top_builddir)/config.h $(top_builddir)/pathnames.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(top_builddir)/config.h \
$(top_builddir)/pathnames.h
$(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/defaults.c $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/defaults.c
env.lo: $(srcdir)/env.c $(devdir)/def_data.h $(incdir)/alloc.h \ env.lo: $(srcdir)/env.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \
$(incdir)/compat/stdbool.h $(incdir)/fatal.h $(incdir)/gettext.h \ $(incdir)/fatal.h $(incdir)/gettext.h $(incdir)/missing.h \
$(incdir)/missing.h $(incdir)/queue.h $(incdir)/sudo_debug.h \ $(incdir)/queue.h $(incdir)/sudo_alloc.h $(incdir)/sudo_debug.h \
$(incdir)/sudo_plugin.h $(incdir)/sudo_util.h $(srcdir)/defaults.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_util.h $(srcdir)/defaults.h \
$(srcdir)/logging.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ $(srcdir)/logging.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \
$(top_builddir)/config.h $(top_builddir)/pathnames.h $(top_builddir)/config.h $(top_builddir)/pathnames.h
$(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/env.c $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/env.c
find_path.lo: $(srcdir)/find_path.c $(devdir)/def_data.h $(incdir)/alloc.h \ find_path.lo: $(srcdir)/find_path.c $(devdir)/def_data.h \
$(incdir)/compat/stdbool.h $(incdir)/fatal.h $(incdir)/gettext.h \ $(incdir)/compat/stdbool.h $(incdir)/fatal.h $(incdir)/gettext.h \
$(incdir)/missing.h $(incdir)/queue.h $(incdir)/sudo_debug.h \ $(incdir)/missing.h $(incdir)/queue.h $(incdir)/sudo_alloc.h \
$(incdir)/sudo_plugin.h $(incdir)/sudo_util.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_plugin.h \
$(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/sudo_nss.h \ $(incdir)/sudo_util.h $(srcdir)/defaults.h $(srcdir)/logging.h \
$(srcdir)/sudoers.h $(top_builddir)/config.h \ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \
$(top_builddir)/pathnames.h $(top_builddir)/config.h $(top_builddir)/pathnames.h
$(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/find_path.c $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/find_path.c
find_path.o: find_path.lo find_path.o: find_path.lo
fwtk.lo: $(authdir)/fwtk.c $(devdir)/def_data.h $(incdir)/alloc.h \ fwtk.lo: $(authdir)/fwtk.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \
$(incdir)/compat/stdbool.h $(incdir)/fatal.h $(incdir)/gettext.h \ $(incdir)/fatal.h $(incdir)/gettext.h $(incdir)/missing.h \
$(incdir)/missing.h $(incdir)/queue.h $(incdir)/sudo_debug.h \ $(incdir)/queue.h $(incdir)/sudo_alloc.h $(incdir)/sudo_debug.h \
$(incdir)/sudo_plugin.h $(incdir)/sudo_util.h $(srcdir)/defaults.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_util.h $(srcdir)/defaults.h \
$(srcdir)/logging.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ $(srcdir)/logging.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \
$(top_builddir)/config.h $(top_builddir)/pathnames.h $(top_builddir)/config.h $(top_builddir)/pathnames.h
$(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(authdir)/fwtk.c $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(authdir)/fwtk.c
getdate.o: $(devdir)/getdate.c $(incdir)/missing.h $(top_builddir)/config.h getdate.o: $(devdir)/getdate.c $(incdir)/missing.h $(top_builddir)/config.h
$(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(devdir)/getdate.c $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(devdir)/getdate.c
getspwuid.lo: $(srcdir)/getspwuid.c $(devdir)/def_data.h $(incdir)/alloc.h \ getspwuid.lo: $(srcdir)/getspwuid.c $(devdir)/def_data.h \
$(incdir)/compat/stdbool.h $(incdir)/fatal.h $(incdir)/gettext.h \ $(incdir)/compat/stdbool.h $(incdir)/fatal.h $(incdir)/gettext.h \
$(incdir)/missing.h $(incdir)/queue.h $(incdir)/sudo_debug.h \ $(incdir)/missing.h $(incdir)/queue.h $(incdir)/sudo_alloc.h \
$(incdir)/sudo_plugin.h $(incdir)/sudo_util.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_plugin.h \
$(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/sudo_nss.h \ $(incdir)/sudo_util.h $(srcdir)/defaults.h $(srcdir)/logging.h \
$(srcdir)/sudoers.h $(top_builddir)/config.h \ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \
$(top_builddir)/pathnames.h $(top_builddir)/config.h $(top_builddir)/pathnames.h
$(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/getspwuid.c $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/getspwuid.c
goodpath.lo: $(srcdir)/goodpath.c $(devdir)/def_data.h $(incdir)/alloc.h \ goodpath.lo: $(srcdir)/goodpath.c $(devdir)/def_data.h \
$(incdir)/compat/stdbool.h $(incdir)/fatal.h $(incdir)/gettext.h \ $(incdir)/compat/stdbool.h $(incdir)/fatal.h $(incdir)/gettext.h \
$(incdir)/missing.h $(incdir)/queue.h $(incdir)/sudo_debug.h \ $(incdir)/missing.h $(incdir)/queue.h $(incdir)/sudo_alloc.h \
$(incdir)/sudo_plugin.h $(incdir)/sudo_util.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_plugin.h \
$(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/sudo_nss.h \ $(incdir)/sudo_util.h $(srcdir)/defaults.h $(srcdir)/logging.h \
$(srcdir)/sudoers.h $(top_builddir)/config.h \ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(top_builddir)/config.h \
$(top_builddir)/pathnames.h $(top_builddir)/pathnames.h
$(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/goodpath.c $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/goodpath.c
goodpath.o: goodpath.lo goodpath.o: goodpath.lo
gram.lo: $(devdir)/gram.c $(devdir)/def_data.h $(incdir)/alloc.h \ gram.lo: $(devdir)/gram.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \
$(incdir)/compat/stdbool.h $(incdir)/fatal.h $(incdir)/gettext.h \ $(incdir)/fatal.h $(incdir)/gettext.h $(incdir)/missing.h \
$(incdir)/missing.h $(incdir)/queue.h $(incdir)/sudo_debug.h \ $(incdir)/queue.h $(incdir)/sudo_alloc.h $(incdir)/sudo_debug.h \
$(incdir)/sudo_plugin.h $(incdir)/sudo_util.h $(srcdir)/defaults.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_util.h $(srcdir)/defaults.h \
$(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/sudo_nss.h \ $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/sudo_nss.h \
$(srcdir)/sudoers.h $(srcdir)/toke.h $(top_builddir)/config.h \ $(srcdir)/sudoers.h $(srcdir)/toke.h $(top_builddir)/config.h \
$(top_builddir)/pathnames.h $(top_builddir)/pathnames.h
$(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(devdir)/gram.c $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(devdir)/gram.c
group_plugin.lo: $(srcdir)/group_plugin.c $(devdir)/def_data.h \ group_plugin.lo: $(srcdir)/group_plugin.c $(devdir)/def_data.h \
$(incdir)/alloc.h $(incdir)/compat/stdbool.h \ $(incdir)/compat/stdbool.h $(incdir)/fatal.h \
$(incdir)/fatal.h $(incdir)/gettext.h $(incdir)/missing.h \ $(incdir)/gettext.h $(incdir)/missing.h $(incdir)/queue.h \
$(incdir)/queue.h $(incdir)/sudo_debug.h $(incdir)/sudo_dso.h \ $(incdir)/sudo_alloc.h $(incdir)/sudo_debug.h \
$(incdir)/sudo_plugin.h $(incdir)/sudo_util.h \ $(incdir)/sudo_dso.h $(incdir)/sudo_plugin.h \
$(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/sudo_nss.h \ $(incdir)/sudo_util.h $(srcdir)/defaults.h \
$(srcdir)/sudoers.h $(top_builddir)/config.h \ $(srcdir)/logging.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \
$(top_builddir)/pathnames.h $(top_builddir)/config.h $(top_builddir)/pathnames.h
$(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/group_plugin.c $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/group_plugin.c
group_plugin.o: group_plugin.lo group_plugin.o: group_plugin.lo
hexchar.lo: $(srcdir)/hexchar.c $(incdir)/missing.h $(incdir)/sudo_debug.h \ hexchar.lo: $(srcdir)/hexchar.c $(incdir)/missing.h $(incdir)/sudo_debug.h \
$(top_builddir)/config.h $(top_builddir)/config.h
$(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/hexchar.c $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/hexchar.c
hexchar.o: hexchar.lo hexchar.o: hexchar.lo
interfaces.lo: $(srcdir)/interfaces.c $(devdir)/def_data.h $(incdir)/alloc.h \ interfaces.lo: $(srcdir)/interfaces.c $(devdir)/def_data.h \
$(incdir)/compat/stdbool.h $(incdir)/fatal.h \ $(incdir)/compat/stdbool.h $(incdir)/fatal.h \
$(incdir)/gettext.h $(incdir)/missing.h $(incdir)/queue.h \ $(incdir)/gettext.h $(incdir)/missing.h $(incdir)/queue.h \
$(incdir)/sudo_debug.h $(incdir)/sudo_plugin.h \ $(incdir)/sudo_alloc.h $(incdir)/sudo_debug.h \
$(incdir)/sudo_util.h $(srcdir)/defaults.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_util.h \
$(srcdir)/interfaces.h $(srcdir)/logging.h $(srcdir)/sudo_nss.h \ $(srcdir)/defaults.h $(srcdir)/interfaces.h $(srcdir)/logging.h \
$(srcdir)/sudoers.h $(top_builddir)/config.h \ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \
$(top_builddir)/pathnames.h $(top_builddir)/config.h $(top_builddir)/pathnames.h
$(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/interfaces.c $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/interfaces.c
interfaces.o: interfaces.lo interfaces.o: interfaces.lo
iolog.lo: $(srcdir)/iolog.c $(devdir)/def_data.h $(incdir)/alloc.h \ iolog.lo: $(srcdir)/iolog.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \
$(incdir)/compat/stdbool.h $(incdir)/fatal.h $(incdir)/gettext.h \ $(incdir)/fatal.h $(incdir)/gettext.h $(incdir)/missing.h \
$(incdir)/missing.h $(incdir)/queue.h $(incdir)/sudo_debug.h \ $(incdir)/queue.h $(incdir)/sudo_alloc.h $(incdir)/sudo_debug.h \
$(incdir)/sudo_plugin.h $(incdir)/sudo_util.h $(srcdir)/defaults.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_util.h $(srcdir)/defaults.h \
$(srcdir)/iolog.h $(srcdir)/logging.h $(srcdir)/sudo_nss.h \ $(srcdir)/iolog.h $(srcdir)/logging.h $(srcdir)/sudo_nss.h \
$(srcdir)/sudoers.h $(top_builddir)/config.h \ $(srcdir)/sudoers.h $(top_builddir)/config.h \
$(top_builddir)/pathnames.h $(top_builddir)/pathnames.h
$(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/iolog.c $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/iolog.c
iolog_path.lo: $(srcdir)/iolog_path.c $(devdir)/def_data.h $(incdir)/alloc.h \ iolog_path.lo: $(srcdir)/iolog_path.c $(devdir)/def_data.h \
$(incdir)/compat/stdbool.h $(incdir)/fatal.h \ $(incdir)/compat/stdbool.h $(incdir)/fatal.h \
$(incdir)/gettext.h $(incdir)/missing.h $(incdir)/queue.h \ $(incdir)/gettext.h $(incdir)/missing.h $(incdir)/queue.h \
$(incdir)/sudo_debug.h $(incdir)/sudo_plugin.h \ $(incdir)/sudo_alloc.h $(incdir)/sudo_debug.h \
$(incdir)/sudo_util.h $(srcdir)/defaults.h $(srcdir)/logging.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_util.h \
$(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/sudo_nss.h \
$(top_builddir)/config.h $(top_builddir)/pathnames.h $(srcdir)/sudoers.h $(top_builddir)/config.h \
$(top_builddir)/pathnames.h
$(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/iolog_path.c $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/iolog_path.c
iolog_path.o: iolog_path.lo iolog_path.o: iolog_path.lo
kerb5.lo: $(authdir)/kerb5.c $(devdir)/def_data.h $(incdir)/alloc.h \ kerb5.lo: $(authdir)/kerb5.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \
$(incdir)/compat/stdbool.h $(incdir)/fatal.h $(incdir)/gettext.h \ $(incdir)/fatal.h $(incdir)/gettext.h $(incdir)/missing.h \
$(incdir)/missing.h $(incdir)/queue.h $(incdir)/sudo_debug.h \ $(incdir)/queue.h $(incdir)/sudo_alloc.h $(incdir)/sudo_debug.h \
$(incdir)/sudo_plugin.h $(incdir)/sudo_util.h $(srcdir)/defaults.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_util.h $(srcdir)/defaults.h \
$(srcdir)/logging.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ $(srcdir)/logging.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \
$(top_builddir)/config.h $(top_builddir)/pathnames.h $(top_builddir)/config.h $(top_builddir)/pathnames.h
$(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(authdir)/kerb5.c $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(authdir)/kerb5.c
ldap.lo: $(srcdir)/ldap.c $(devdir)/def_data.h $(incdir)/alloc.h \ ldap.lo: $(srcdir)/ldap.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \
$(incdir)/compat/stdbool.h $(incdir)/fatal.h $(incdir)/gettext.h \ $(incdir)/fatal.h $(incdir)/gettext.h $(incdir)/missing.h \
$(incdir)/missing.h $(incdir)/queue.h $(incdir)/sudo_debug.h \ $(incdir)/queue.h $(incdir)/sudo_alloc.h $(incdir)/sudo_debug.h \
$(incdir)/sudo_dso.h $(incdir)/sudo_lbuf.h $(incdir)/sudo_plugin.h \ $(incdir)/sudo_dso.h $(incdir)/sudo_lbuf.h $(incdir)/sudo_plugin.h \
$(incdir)/sudo_util.h $(srcdir)/defaults.h $(srcdir)/logging.h \ $(incdir)/sudo_util.h $(srcdir)/defaults.h $(srcdir)/logging.h \
$(srcdir)/parse.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ $(srcdir)/parse.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \
$(top_builddir)/config.h $(top_builddir)/pathnames.h $(top_builddir)/config.h $(top_builddir)/pathnames.h
$(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/ldap.c $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/ldap.c
linux_audit.lo: $(srcdir)/linux_audit.c $(incdir)/alloc.h $(incdir)/fatal.h \ linux_audit.lo: $(srcdir)/linux_audit.c $(incdir)/fatal.h $(incdir)/gettext.h \
$(incdir)/gettext.h $(incdir)/missing.h $(incdir)/sudo_debug.h \ $(incdir)/missing.h $(incdir)/sudo_alloc.h \
$(srcdir)/linux_audit.h $(top_builddir)/config.h $(incdir)/sudo_debug.h $(srcdir)/linux_audit.h \
$(top_builddir)/config.h
$(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/linux_audit.c $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/linux_audit.c
locale.lo: $(srcdir)/locale.c $(incdir)/alloc.h $(incdir)/compat/stdbool.h \ locale.lo: $(srcdir)/locale.c $(incdir)/compat/stdbool.h $(incdir)/fatal.h \
$(incdir)/fatal.h $(incdir)/gettext.h $(incdir)/missing.h \ $(incdir)/gettext.h $(incdir)/missing.h $(incdir)/sudo_alloc.h \
$(srcdir)/logging.h $(top_builddir)/config.h $(srcdir)/logging.h $(top_builddir)/config.h
$(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/locale.c $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/locale.c
locale.o: locale.lo locale.o: locale.lo
logging.lo: $(srcdir)/logging.c $(devdir)/def_data.h $(incdir)/alloc.h \ logging.lo: $(srcdir)/logging.c $(devdir)/def_data.h \
$(incdir)/compat/stdbool.h $(incdir)/fatal.h $(incdir)/gettext.h \ $(incdir)/compat/stdbool.h $(incdir)/fatal.h $(incdir)/gettext.h \
$(incdir)/missing.h $(incdir)/queue.h $(incdir)/sudo_debug.h \ $(incdir)/missing.h $(incdir)/queue.h $(incdir)/sudo_alloc.h \
$(incdir)/sudo_plugin.h $(incdir)/sudo_util.h $(srcdir)/defaults.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_plugin.h \
$(srcdir)/logging.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ $(incdir)/sudo_util.h $(srcdir)/defaults.h $(srcdir)/logging.h \
$(top_builddir)/config.h $(top_builddir)/pathnames.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(top_builddir)/config.h \
$(top_builddir)/pathnames.h
$(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/logging.c $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/logging.c
logwrap.lo: $(srcdir)/logwrap.c $(devdir)/def_data.h $(incdir)/alloc.h \ logwrap.lo: $(srcdir)/logwrap.c $(devdir)/def_data.h \
$(incdir)/compat/stdbool.h $(incdir)/fatal.h $(incdir)/gettext.h \ $(incdir)/compat/stdbool.h $(incdir)/fatal.h $(incdir)/gettext.h \
$(incdir)/missing.h $(incdir)/queue.h $(incdir)/sudo_debug.h \ $(incdir)/missing.h $(incdir)/queue.h $(incdir)/sudo_alloc.h \
$(incdir)/sudo_plugin.h $(incdir)/sudo_util.h $(srcdir)/defaults.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_plugin.h \
$(srcdir)/logging.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ $(incdir)/sudo_util.h $(srcdir)/defaults.h $(srcdir)/logging.h \
$(top_builddir)/config.h $(top_builddir)/pathnames.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(top_builddir)/config.h \
$(top_builddir)/pathnames.h
$(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/logwrap.c $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/logwrap.c
logwrap.o: logwrap.lo logwrap.o: logwrap.lo
match.lo: $(srcdir)/match.c $(devdir)/def_data.h $(devdir)/gram.h \ match.lo: $(srcdir)/match.c $(devdir)/def_data.h $(devdir)/gram.h \
$(incdir)/alloc.h $(incdir)/compat/fnmatch.h $(incdir)/compat/glob.h \ $(incdir)/compat/fnmatch.h $(incdir)/compat/glob.h \
$(incdir)/compat/sha2.h $(incdir)/compat/stdbool.h $(incdir)/fatal.h \ $(incdir)/compat/sha2.h $(incdir)/compat/stdbool.h $(incdir)/fatal.h \
$(incdir)/gettext.h $(incdir)/missing.h $(incdir)/queue.h \ $(incdir)/gettext.h $(incdir)/missing.h $(incdir)/queue.h \
$(incdir)/sudo_debug.h $(incdir)/sudo_plugin.h $(incdir)/sudo_util.h \ $(incdir)/sudo_alloc.h $(incdir)/sudo_debug.h \
$(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_util.h $(srcdir)/defaults.h \
$(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(top_builddir)/config.h \ $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/sudo_nss.h \
$(srcdir)/sudoers.h $(top_builddir)/config.h \
$(top_builddir)/pathnames.h $(top_builddir)/pathnames.h
$(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/match.c $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/match.c
match_addr.lo: $(srcdir)/match_addr.c $(devdir)/def_data.h $(incdir)/alloc.h \ match_addr.lo: $(srcdir)/match_addr.c $(devdir)/def_data.h \
$(incdir)/compat/stdbool.h $(incdir)/fatal.h \ $(incdir)/compat/stdbool.h $(incdir)/fatal.h \
$(incdir)/gettext.h $(incdir)/missing.h $(incdir)/queue.h \ $(incdir)/gettext.h $(incdir)/missing.h $(incdir)/queue.h \
$(incdir)/sudo_debug.h $(incdir)/sudo_plugin.h \ $(incdir)/sudo_alloc.h $(incdir)/sudo_debug.h \
$(incdir)/sudo_util.h $(srcdir)/defaults.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_util.h \
$(srcdir)/interfaces.h $(srcdir)/logging.h $(srcdir)/sudo_nss.h \ $(srcdir)/defaults.h $(srcdir)/interfaces.h $(srcdir)/logging.h \
$(srcdir)/sudoers.h $(top_builddir)/config.h \ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \
$(top_builddir)/pathnames.h $(top_builddir)/config.h $(top_builddir)/pathnames.h
$(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/match_addr.c $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/match_addr.c
match_addr.o: match_addr.lo match_addr.o: match_addr.lo
net_ifs.o: $(top_srcdir)/src/net_ifs.c $(incdir)/alloc.h \ net_ifs.o: $(top_srcdir)/src/net_ifs.c $(incdir)/compat/stdbool.h \
$(incdir)/compat/stdbool.h $(incdir)/fatal.h $(incdir)/gettext.h \ $(incdir)/fatal.h $(incdir)/gettext.h $(incdir)/missing.h \
$(incdir)/missing.h $(incdir)/queue.h $(incdir)/sudo_conf.h \ $(incdir)/queue.h $(incdir)/sudo_alloc.h $(incdir)/sudo_conf.h \
$(incdir)/sudo_debug.h $(top_builddir)/config.h $(incdir)/sudo_debug.h $(top_builddir)/config.h
$(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(top_srcdir)/src/net_ifs.c $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(top_srcdir)/src/net_ifs.c
pam.lo: $(authdir)/pam.c $(devdir)/def_data.h $(incdir)/alloc.h \ pam.lo: $(authdir)/pam.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \
$(incdir)/compat/stdbool.h $(incdir)/fatal.h $(incdir)/gettext.h \ $(incdir)/fatal.h $(incdir)/gettext.h $(incdir)/missing.h \
$(incdir)/missing.h $(incdir)/queue.h $(incdir)/sudo_debug.h \ $(incdir)/queue.h $(incdir)/sudo_alloc.h $(incdir)/sudo_debug.h \
$(incdir)/sudo_plugin.h $(incdir)/sudo_util.h $(srcdir)/defaults.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_util.h $(srcdir)/defaults.h \
$(srcdir)/logging.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ $(srcdir)/logging.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \
$(top_builddir)/config.h $(top_builddir)/pathnames.h $(top_builddir)/config.h $(top_builddir)/pathnames.h
$(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(authdir)/pam.c $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(authdir)/pam.c
parse.lo: $(srcdir)/parse.c $(devdir)/def_data.h $(devdir)/gram.h \ parse.lo: $(srcdir)/parse.c $(devdir)/def_data.h $(devdir)/gram.h \
$(incdir)/alloc.h $(incdir)/compat/stdbool.h $(incdir)/fatal.h \ $(incdir)/compat/stdbool.h $(incdir)/fatal.h $(incdir)/gettext.h \
$(incdir)/gettext.h $(incdir)/missing.h $(incdir)/queue.h \ $(incdir)/missing.h $(incdir)/queue.h $(incdir)/sudo_alloc.h \
$(incdir)/sudo_debug.h $(incdir)/sudo_lbuf.h $(incdir)/sudo_plugin.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_lbuf.h $(incdir)/sudo_plugin.h \
$(incdir)/sudo_util.h $(srcdir)/defaults.h $(srcdir)/logging.h \ $(incdir)/sudo_util.h $(srcdir)/defaults.h $(srcdir)/logging.h \
$(srcdir)/parse.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ $(srcdir)/parse.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \
$(top_builddir)/config.h $(top_builddir)/pathnames.h $(top_builddir)/config.h $(top_builddir)/pathnames.h
$(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/parse.c $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/parse.c
passwd.lo: $(authdir)/passwd.c $(devdir)/def_data.h $(incdir)/alloc.h \ passwd.lo: $(authdir)/passwd.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \
$(incdir)/compat/stdbool.h $(incdir)/fatal.h $(incdir)/gettext.h \ $(incdir)/fatal.h $(incdir)/gettext.h $(incdir)/missing.h \
$(incdir)/missing.h $(incdir)/queue.h $(incdir)/sudo_debug.h \ $(incdir)/queue.h $(incdir)/sudo_alloc.h $(incdir)/sudo_debug.h \
$(incdir)/sudo_plugin.h $(incdir)/sudo_util.h $(srcdir)/defaults.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_util.h $(srcdir)/defaults.h \
$(srcdir)/logging.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ $(srcdir)/logging.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \
$(top_builddir)/config.h $(top_builddir)/pathnames.h $(top_builddir)/config.h $(top_builddir)/pathnames.h
$(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(authdir)/passwd.c $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(authdir)/passwd.c
policy.lo: $(srcdir)/policy.c $(devdir)/def_data.h $(incdir)/alloc.h \ policy.lo: $(srcdir)/policy.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \
$(incdir)/compat/stdbool.h $(incdir)/fatal.h $(incdir)/gettext.h \ $(incdir)/fatal.h $(incdir)/gettext.h $(incdir)/missing.h \
$(incdir)/missing.h $(incdir)/queue.h $(incdir)/sudo_debug.h \ $(incdir)/queue.h $(incdir)/sudo_alloc.h $(incdir)/sudo_debug.h \
$(incdir)/sudo_plugin.h $(incdir)/sudo_util.h $(srcdir)/defaults.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_util.h $(srcdir)/defaults.h \
$(srcdir)/interfaces.h $(srcdir)/logging.h $(srcdir)/sudo_nss.h \ $(srcdir)/interfaces.h $(srcdir)/logging.h $(srcdir)/sudo_nss.h \
$(srcdir)/sudoers.h $(srcdir)/sudoers_version.h \ $(srcdir)/sudoers.h $(srcdir)/sudoers_version.h \
$(top_builddir)/config.h $(top_builddir)/pathnames.h $(top_builddir)/config.h $(top_builddir)/pathnames.h
$(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/policy.c $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/policy.c
prompt.lo: $(srcdir)/prompt.c $(devdir)/def_data.h $(incdir)/alloc.h \ prompt.lo: $(srcdir)/prompt.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \
$(incdir)/compat/stdbool.h $(incdir)/fatal.h $(incdir)/gettext.h \ $(incdir)/fatal.h $(incdir)/gettext.h $(incdir)/missing.h \
$(incdir)/missing.h $(incdir)/queue.h $(incdir)/sudo_debug.h \ $(incdir)/queue.h $(incdir)/sudo_alloc.h $(incdir)/sudo_debug.h \
$(incdir)/sudo_plugin.h $(incdir)/sudo_util.h $(srcdir)/defaults.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_util.h $(srcdir)/defaults.h \
$(srcdir)/logging.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ $(srcdir)/logging.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \
$(top_builddir)/config.h $(top_builddir)/pathnames.h $(top_builddir)/config.h $(top_builddir)/pathnames.h
$(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/prompt.c $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/prompt.c
pwutil.lo: $(srcdir)/pwutil.c $(devdir)/def_data.h $(incdir)/alloc.h \ pwutil.lo: $(srcdir)/pwutil.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \
$(incdir)/compat/stdbool.h $(incdir)/fatal.h $(incdir)/gettext.h \ $(incdir)/fatal.h $(incdir)/gettext.h $(incdir)/missing.h \
$(incdir)/missing.h $(incdir)/queue.h $(incdir)/sudo_debug.h \ $(incdir)/queue.h $(incdir)/sudo_alloc.h $(incdir)/sudo_debug.h \
$(incdir)/sudo_plugin.h $(incdir)/sudo_util.h $(srcdir)/defaults.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_util.h $(srcdir)/defaults.h \
$(srcdir)/logging.h $(srcdir)/pwutil.h $(srcdir)/redblack.h \ $(srcdir)/logging.h $(srcdir)/pwutil.h $(srcdir)/redblack.h \
$(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(top_builddir)/config.h \ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(top_builddir)/config.h \
$(top_builddir)/pathnames.h $(top_builddir)/pathnames.h
$(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/pwutil.c $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/pwutil.c
pwutil.o: pwutil.lo pwutil.o: pwutil.lo
pwutil_impl.lo: $(srcdir)/pwutil_impl.c $(devdir)/def_data.h $(incdir)/alloc.h \ pwutil_impl.lo: $(srcdir)/pwutil_impl.c $(devdir)/def_data.h \
$(incdir)/compat/stdbool.h $(incdir)/fatal.h \ $(incdir)/compat/stdbool.h $(incdir)/fatal.h \
$(incdir)/gettext.h $(incdir)/missing.h $(incdir)/queue.h \ $(incdir)/gettext.h $(incdir)/missing.h $(incdir)/queue.h \
$(incdir)/sudo_debug.h $(incdir)/sudo_plugin.h \ $(incdir)/sudo_alloc.h $(incdir)/sudo_debug.h \
$(incdir)/sudo_util.h $(srcdir)/defaults.h $(srcdir)/logging.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_util.h \
$(srcdir)/pwutil.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/pwutil.h \
$(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \
$(top_builddir)/config.h $(top_builddir)/pathnames.h $(top_builddir)/config.h $(top_builddir)/pathnames.h
$(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/pwutil_impl.c $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/pwutil_impl.c
pwutil_impl.o: pwutil_impl.lo pwutil_impl.o: pwutil_impl.lo
redblack.lo: $(srcdir)/redblack.c $(incdir)/alloc.h $(incdir)/missing.h \ redblack.lo: $(srcdir)/redblack.c $(incdir)/missing.h $(incdir)/sudo_alloc.h \
$(incdir)/sudo_debug.h $(srcdir)/redblack.h \ $(incdir)/sudo_debug.h $(srcdir)/redblack.h \
$(top_builddir)/config.h $(top_builddir)/config.h
$(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/redblack.c $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/redblack.c
redblack.o: redblack.lo redblack.o: redblack.lo
rfc1938.lo: $(authdir)/rfc1938.c $(devdir)/def_data.h $(incdir)/alloc.h \ rfc1938.lo: $(authdir)/rfc1938.c $(devdir)/def_data.h \
$(incdir)/compat/stdbool.h $(incdir)/fatal.h $(incdir)/gettext.h \ $(incdir)/compat/stdbool.h $(incdir)/fatal.h $(incdir)/gettext.h \
$(incdir)/missing.h $(incdir)/queue.h $(incdir)/sudo_debug.h \ $(incdir)/missing.h $(incdir)/queue.h $(incdir)/sudo_alloc.h \
$(incdir)/sudo_plugin.h $(incdir)/sudo_util.h $(srcdir)/defaults.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_plugin.h \
$(srcdir)/logging.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ $(incdir)/sudo_util.h $(srcdir)/defaults.h $(srcdir)/logging.h \
$(top_builddir)/config.h $(top_builddir)/pathnames.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(top_builddir)/config.h \
$(top_builddir)/pathnames.h
$(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(authdir)/rfc1938.c $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(authdir)/rfc1938.c
secureware.lo: $(authdir)/secureware.c $(devdir)/def_data.h $(incdir)/alloc.h \ secureware.lo: $(authdir)/secureware.c $(devdir)/def_data.h \
$(incdir)/compat/stdbool.h $(incdir)/fatal.h \ $(incdir)/compat/stdbool.h $(incdir)/fatal.h \
$(incdir)/gettext.h $(incdir)/missing.h $(incdir)/queue.h \ $(incdir)/gettext.h $(incdir)/missing.h $(incdir)/queue.h \
$(incdir)/sudo_debug.h $(incdir)/sudo_plugin.h \ $(incdir)/sudo_alloc.h $(incdir)/sudo_debug.h \
$(incdir)/sudo_util.h $(srcdir)/defaults.h $(srcdir)/logging.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_util.h \
$(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/sudo_nss.h \
$(top_builddir)/config.h $(top_builddir)/pathnames.h $(srcdir)/sudoers.h $(top_builddir)/config.h \
$(top_builddir)/pathnames.h
$(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(authdir)/secureware.c $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(authdir)/secureware.c
securid5.lo: $(authdir)/securid5.c $(devdir)/def_data.h $(incdir)/alloc.h \ securid5.lo: $(authdir)/securid5.c $(devdir)/def_data.h \
$(incdir)/compat/stdbool.h $(incdir)/fatal.h $(incdir)/gettext.h \ $(incdir)/compat/stdbool.h $(incdir)/fatal.h $(incdir)/gettext.h \
$(incdir)/missing.h $(incdir)/queue.h $(incdir)/sudo_debug.h \ $(incdir)/missing.h $(incdir)/queue.h $(incdir)/sudo_alloc.h \
$(incdir)/sudo_plugin.h $(incdir)/sudo_util.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_plugin.h \
$(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/sudo_nss.h \ $(incdir)/sudo_util.h $(srcdir)/defaults.h $(srcdir)/logging.h \
$(srcdir)/sudoers.h $(top_builddir)/config.h \ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(top_builddir)/config.h \
$(top_builddir)/pathnames.h $(top_builddir)/pathnames.h
$(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(authdir)/securid5.c $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(authdir)/securid5.c
set_perms.lo: $(srcdir)/set_perms.c $(devdir)/def_data.h $(incdir)/alloc.h \ set_perms.lo: $(srcdir)/set_perms.c $(devdir)/def_data.h \
$(incdir)/compat/stdbool.h $(incdir)/fatal.h $(incdir)/gettext.h \ $(incdir)/compat/stdbool.h $(incdir)/fatal.h $(incdir)/gettext.h \
$(incdir)/missing.h $(incdir)/queue.h $(incdir)/sudo_debug.h \ $(incdir)/missing.h $(incdir)/queue.h $(incdir)/sudo_alloc.h \
$(incdir)/sudo_plugin.h $(incdir)/sudo_util.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_plugin.h \
$(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/sudo_nss.h \ $(incdir)/sudo_util.h $(srcdir)/defaults.h $(srcdir)/logging.h \
$(srcdir)/sudoers.h $(top_builddir)/config.h \ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \
$(top_builddir)/pathnames.h $(top_builddir)/config.h $(top_builddir)/pathnames.h
$(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/set_perms.c $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/set_perms.c
sia.lo: $(authdir)/sia.c $(devdir)/def_data.h $(incdir)/alloc.h \ sia.lo: $(authdir)/sia.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \
$(incdir)/compat/stdbool.h $(incdir)/fatal.h $(incdir)/gettext.h \ $(incdir)/fatal.h $(incdir)/gettext.h $(incdir)/missing.h \
$(incdir)/missing.h $(incdir)/queue.h $(incdir)/sudo_debug.h \ $(incdir)/queue.h $(incdir)/sudo_alloc.h $(incdir)/sudo_debug.h \
$(incdir)/sudo_plugin.h $(incdir)/sudo_util.h $(srcdir)/defaults.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_util.h $(srcdir)/defaults.h \
$(srcdir)/logging.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ $(srcdir)/logging.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \
$(top_builddir)/config.h $(top_builddir)/pathnames.h $(top_builddir)/config.h $(top_builddir)/pathnames.h
$(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(authdir)/sia.c $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(authdir)/sia.c
sssd.lo: $(srcdir)/sssd.c $(devdir)/def_data.h $(incdir)/alloc.h \ sssd.lo: $(srcdir)/sssd.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \
$(incdir)/compat/stdbool.h $(incdir)/fatal.h $(incdir)/gettext.h \ $(incdir)/fatal.h $(incdir)/gettext.h $(incdir)/missing.h \
$(incdir)/missing.h $(incdir)/queue.h $(incdir)/sudo_debug.h \ $(incdir)/queue.h $(incdir)/sudo_alloc.h $(incdir)/sudo_debug.h \
$(incdir)/sudo_dso.h $(incdir)/sudo_lbuf.h $(incdir)/sudo_plugin.h \ $(incdir)/sudo_dso.h $(incdir)/sudo_lbuf.h $(incdir)/sudo_plugin.h \
$(incdir)/sudo_util.h $(srcdir)/defaults.h $(srcdir)/logging.h \ $(incdir)/sudo_util.h $(srcdir)/defaults.h $(srcdir)/logging.h \
$(srcdir)/parse.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ $(srcdir)/parse.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \
$(top_builddir)/config.h $(top_builddir)/pathnames.h $(top_builddir)/config.h $(top_builddir)/pathnames.h
$(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/sssd.c $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/sssd.c
sudo_auth.lo: $(authdir)/sudo_auth.c $(devdir)/def_data.h $(incdir)/alloc.h \ sudo_auth.lo: $(authdir)/sudo_auth.c $(devdir)/def_data.h \
$(incdir)/compat/stdbool.h $(incdir)/fatal.h $(incdir)/gettext.h \ $(incdir)/compat/stdbool.h $(incdir)/fatal.h $(incdir)/gettext.h \
$(incdir)/missing.h $(incdir)/queue.h $(incdir)/sudo_debug.h \ $(incdir)/missing.h $(incdir)/queue.h $(incdir)/sudo_alloc.h \
$(incdir)/sudo_plugin.h $(incdir)/sudo_util.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_plugin.h \
$(srcdir)/defaults.h $(srcdir)/ins_2001.h \ $(incdir)/sudo_util.h $(srcdir)/defaults.h $(srcdir)/ins_2001.h \
$(srcdir)/ins_classic.h $(srcdir)/ins_csops.h \ $(srcdir)/ins_classic.h $(srcdir)/ins_csops.h \
$(srcdir)/ins_goons.h $(srcdir)/insults.h $(srcdir)/logging.h \ $(srcdir)/ins_goons.h $(srcdir)/insults.h $(srcdir)/logging.h \
$(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \
$(top_builddir)/config.h $(top_builddir)/pathnames.h $(top_builddir)/config.h $(top_builddir)/pathnames.h
$(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(authdir)/sudo_auth.c $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(authdir)/sudo_auth.c
sudo_nss.lo: $(srcdir)/sudo_nss.c $(devdir)/def_data.h $(incdir)/alloc.h \ sudo_nss.lo: $(srcdir)/sudo_nss.c $(devdir)/def_data.h \
$(incdir)/compat/stdbool.h $(incdir)/fatal.h $(incdir)/gettext.h \ $(incdir)/compat/stdbool.h $(incdir)/fatal.h $(incdir)/gettext.h \
$(incdir)/missing.h $(incdir)/queue.h $(incdir)/sudo_debug.h \ $(incdir)/missing.h $(incdir)/queue.h $(incdir)/sudo_alloc.h \
$(incdir)/sudo_lbuf.h $(incdir)/sudo_plugin.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_lbuf.h \
$(incdir)/sudo_util.h $(srcdir)/defaults.h $(srcdir)/logging.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_util.h \
$(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(top_builddir)/config.h \ $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/sudo_nss.h \
$(srcdir)/sudoers.h $(top_builddir)/config.h \
$(top_builddir)/pathnames.h $(top_builddir)/pathnames.h
$(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/sudo_nss.c $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/sudo_nss.c
sudoers.lo: $(srcdir)/sudoers.c $(devdir)/def_data.h $(incdir)/alloc.h \ sudoers.lo: $(srcdir)/sudoers.c $(devdir)/def_data.h \
$(incdir)/compat/getaddrinfo.h $(incdir)/compat/stdbool.h \ $(incdir)/compat/getaddrinfo.h $(incdir)/compat/stdbool.h \
$(incdir)/fatal.h $(incdir)/gettext.h $(incdir)/missing.h \ $(incdir)/fatal.h $(incdir)/gettext.h $(incdir)/missing.h \
$(incdir)/queue.h $(incdir)/secure_path.h $(incdir)/sudo_debug.h \ $(incdir)/queue.h $(incdir)/secure_path.h $(incdir)/sudo_alloc.h \
$(incdir)/sudo_plugin.h $(incdir)/sudo_util.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_plugin.h \
$(srcdir)/auth/sudo_auth.h $(srcdir)/defaults.h \ $(incdir)/sudo_util.h $(srcdir)/auth/sudo_auth.h \
$(srcdir)/logging.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/sudo_nss.h \
$(top_builddir)/config.h $(top_builddir)/pathnames.h $(srcdir)/sudoers.h $(top_builddir)/config.h \
$(top_builddir)/pathnames.h
$(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/sudoers.c $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/sudoers.c
sudoreplay.o: $(srcdir)/sudoreplay.c $(incdir)/alloc.h \ sudoreplay.o: $(srcdir)/sudoreplay.c $(incdir)/compat/getopt.h \
$(incdir)/compat/getopt.h $(incdir)/compat/stdbool.h \ $(incdir)/compat/stdbool.h $(incdir)/compat/timespec.h \
$(incdir)/compat/timespec.h $(incdir)/fatal.h \ $(incdir)/fatal.h $(incdir)/gettext.h $(incdir)/missing.h \
$(incdir)/gettext.h $(incdir)/missing.h $(incdir)/queue.h \ $(incdir)/queue.h $(incdir)/sudo_alloc.h $(incdir)/sudo_conf.h \
$(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_event.h \
$(incdir)/sudo_event.h $(incdir)/sudo_plugin.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_util.h $(srcdir)/iolog.h \
$(incdir)/sudo_util.h $(srcdir)/iolog.h $(srcdir)/logging.h \ $(srcdir)/logging.h $(top_builddir)/config.h \
$(top_builddir)/config.h $(top_builddir)/pathnames.h $(top_builddir)/pathnames.h
$(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/sudoreplay.c $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/sudoreplay.c
testsudoers.o: $(srcdir)/testsudoers.c $(devdir)/def_data.h $(devdir)/gram.h \ testsudoers.o: $(srcdir)/testsudoers.c $(devdir)/def_data.h $(devdir)/gram.h \
$(incdir)/alloc.h $(incdir)/compat/fnmatch.h \ $(incdir)/compat/fnmatch.h $(incdir)/compat/stdbool.h \
$(incdir)/compat/stdbool.h $(incdir)/fatal.h \ $(incdir)/fatal.h $(incdir)/gettext.h $(incdir)/missing.h \
$(incdir)/gettext.h $(incdir)/missing.h $(incdir)/queue.h \ $(incdir)/queue.h $(incdir)/secure_path.h \
$(incdir)/secure_path.h $(incdir)/sudo_conf.h \ $(incdir)/sudo_alloc.h $(incdir)/sudo_conf.h \
$(incdir)/sudo_debug.h $(incdir)/sudo_plugin.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_plugin.h \
$(incdir)/sudo_util.h $(srcdir)/defaults.h \ $(incdir)/sudo_util.h $(srcdir)/defaults.h \
$(srcdir)/interfaces.h $(srcdir)/logging.h $(srcdir)/parse.h \ $(srcdir)/interfaces.h $(srcdir)/logging.h $(srcdir)/parse.h \
$(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(srcdir)/tsgetgrpw.h \ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(srcdir)/tsgetgrpw.h \
$(top_builddir)/config.h $(top_builddir)/pathnames.h $(top_builddir)/config.h $(top_builddir)/pathnames.h
$(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/testsudoers.c $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/testsudoers.c
timestamp.lo: $(srcdir)/timestamp.c $(devdir)/def_data.h $(incdir)/alloc.h \ timestamp.lo: $(srcdir)/timestamp.c $(devdir)/def_data.h \
$(incdir)/compat/stdbool.h $(incdir)/compat/timespec.h \ $(incdir)/compat/stdbool.h $(incdir)/compat/timespec.h \
$(incdir)/fatal.h $(incdir)/gettext.h $(incdir)/missing.h \ $(incdir)/fatal.h $(incdir)/gettext.h $(incdir)/missing.h \
$(incdir)/queue.h $(incdir)/secure_path.h $(incdir)/sudo_debug.h \ $(incdir)/queue.h $(incdir)/secure_path.h $(incdir)/sudo_alloc.h \
$(incdir)/sudo_plugin.h $(incdir)/sudo_util.h $(srcdir)/check.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_plugin.h \
$(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/sudo_nss.h \ $(incdir)/sudo_util.h $(srcdir)/check.h $(srcdir)/defaults.h \
$(srcdir)/sudoers.h $(top_builddir)/config.h \ $(srcdir)/logging.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \
$(top_builddir)/pathnames.h $(top_builddir)/config.h $(top_builddir)/pathnames.h
$(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/timestamp.c $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/timestamp.c
timestr.lo: $(srcdir)/timestr.c $(incdir)/missing.h $(top_builddir)/config.h timestr.lo: $(srcdir)/timestr.c $(incdir)/missing.h $(top_builddir)/config.h
$(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/timestr.c $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/timestr.c
toke.lo: $(devdir)/toke.c $(devdir)/def_data.h $(devdir)/gram.h \ toke.lo: $(devdir)/toke.c $(devdir)/def_data.h $(devdir)/gram.h \
$(incdir)/alloc.h $(incdir)/compat/sha2.h $(incdir)/compat/stdbool.h \ $(incdir)/compat/sha2.h $(incdir)/compat/stdbool.h $(incdir)/fatal.h \
$(incdir)/fatal.h $(incdir)/gettext.h $(incdir)/missing.h \ $(incdir)/gettext.h $(incdir)/missing.h $(incdir)/queue.h \
$(incdir)/queue.h $(incdir)/secure_path.h $(incdir)/sudo_debug.h \ $(incdir)/secure_path.h $(incdir)/sudo_alloc.h $(incdir)/sudo_debug.h \
$(incdir)/sudo_lbuf.h $(incdir)/sudo_plugin.h $(incdir)/sudo_util.h \ $(incdir)/sudo_lbuf.h $(incdir)/sudo_plugin.h $(incdir)/sudo_util.h \
$(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \ $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \
$(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(srcdir)/toke.h \ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(srcdir)/toke.h \
$(top_builddir)/config.h $(top_builddir)/pathnames.h $(top_builddir)/config.h $(top_builddir)/pathnames.h
$(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(devdir)/toke.c $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(devdir)/toke.c
toke_util.lo: $(srcdir)/toke_util.c $(devdir)/def_data.h $(devdir)/gram.h \ toke_util.lo: $(srcdir)/toke_util.c $(devdir)/def_data.h $(devdir)/gram.h \
$(incdir)/alloc.h $(incdir)/compat/stdbool.h $(incdir)/fatal.h \ $(incdir)/compat/stdbool.h $(incdir)/fatal.h $(incdir)/gettext.h \
$(incdir)/gettext.h $(incdir)/missing.h $(incdir)/queue.h \ $(incdir)/missing.h $(incdir)/queue.h $(incdir)/sudo_alloc.h \
$(incdir)/sudo_debug.h $(incdir)/sudo_plugin.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_plugin.h \
$(incdir)/sudo_util.h $(srcdir)/defaults.h $(srcdir)/logging.h \ $(incdir)/sudo_util.h $(srcdir)/defaults.h $(srcdir)/logging.h \
$(srcdir)/parse.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ $(srcdir)/parse.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \
@ -884,18 +896,18 @@ toke_util.lo: $(srcdir)/toke_util.c $(devdir)/def_data.h $(devdir)/gram.h \
$(top_builddir)/pathnames.h $(top_builddir)/pathnames.h
$(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/toke_util.c $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/toke_util.c
toke_util.o: toke_util.lo toke_util.o: toke_util.lo
tsgetgrpw.o: $(srcdir)/tsgetgrpw.c $(devdir)/def_data.h $(incdir)/alloc.h \ tsgetgrpw.o: $(srcdir)/tsgetgrpw.c $(devdir)/def_data.h \
$(incdir)/compat/stdbool.h $(incdir)/fatal.h $(incdir)/gettext.h \ $(incdir)/compat/stdbool.h $(incdir)/fatal.h $(incdir)/gettext.h \
$(incdir)/missing.h $(incdir)/queue.h $(incdir)/sudo_debug.h \ $(incdir)/missing.h $(incdir)/queue.h $(incdir)/sudo_alloc.h \
$(incdir)/sudo_plugin.h $(incdir)/sudo_util.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_plugin.h \
$(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/sudo_nss.h \ $(incdir)/sudo_util.h $(srcdir)/defaults.h $(srcdir)/logging.h \
$(srcdir)/sudoers.h $(srcdir)/tsgetgrpw.h \ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(srcdir)/tsgetgrpw.h \
$(top_builddir)/config.h $(top_builddir)/pathnames.h $(top_builddir)/config.h $(top_builddir)/pathnames.h
$(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/tsgetgrpw.c $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/tsgetgrpw.c
visudo.o: $(srcdir)/visudo.c $(devdir)/def_data.h $(devdir)/gram.h \ visudo.o: $(srcdir)/visudo.c $(devdir)/def_data.h $(devdir)/gram.h \
$(incdir)/alloc.h $(incdir)/compat/getopt.h \ $(incdir)/compat/getopt.h $(incdir)/compat/stdbool.h \
$(incdir)/compat/stdbool.h $(incdir)/fatal.h $(incdir)/gettext.h \ $(incdir)/fatal.h $(incdir)/gettext.h $(incdir)/missing.h \
$(incdir)/missing.h $(incdir)/queue.h $(incdir)/sudo_conf.h \ $(incdir)/queue.h $(incdir)/sudo_alloc.h $(incdir)/sudo_conf.h \
$(incdir)/sudo_debug.h $(incdir)/sudo_plugin.h $(incdir)/sudo_util.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_plugin.h $(incdir)/sudo_util.h \
$(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \ $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \
$(srcdir)/redblack.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ $(srcdir)/redblack.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \
@ -903,10 +915,11 @@ visudo.o: $(srcdir)/visudo.c $(devdir)/def_data.h $(devdir)/gram.h \
$(top_builddir)/pathnames.h $(top_builddir)/pathnames.h
$(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/visudo.c $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/visudo.c
visudo_json.o: $(srcdir)/visudo_json.c $(devdir)/def_data.h $(devdir)/gram.h \ visudo_json.o: $(srcdir)/visudo_json.c $(devdir)/def_data.h $(devdir)/gram.h \
$(incdir)/alloc.h $(incdir)/compat/stdbool.h $(incdir)/fatal.h \ $(incdir)/compat/stdbool.h $(incdir)/fatal.h \
$(incdir)/gettext.h $(incdir)/missing.h $(incdir)/queue.h \ $(incdir)/gettext.h $(incdir)/missing.h $(incdir)/queue.h \
$(incdir)/sudo_debug.h $(incdir)/sudo_plugin.h \ $(incdir)/sudo_alloc.h $(incdir)/sudo_debug.h \
$(incdir)/sudo_util.h $(srcdir)/defaults.h $(srcdir)/logging.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_util.h \
$(srcdir)/parse.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \
$(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \
$(top_builddir)/config.h $(top_builddir)/pathnames.h $(top_builddir)/config.h $(top_builddir)/pathnames.h
$(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/visudo_json.c $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/visudo_json.c

View File

@ -127,7 +127,7 @@ alias_add(char *name, int type, struct member *members)
struct alias *a; struct alias *a;
debug_decl(alias_add, SUDO_DEBUG_ALIAS) debug_decl(alias_add, SUDO_DEBUG_ALIAS)
a = ecalloc(1, sizeof(*a)); a = sudo_ecalloc(1, sizeof(*a));
a->name = name; a->name = name;
a->type = type; a->type = type;
/* a->used = false; */ /* a->used = false; */

View File

@ -144,7 +144,7 @@ bsdauth_verify(struct passwd *pw, char *prompt, sudo_auth *auth)
len = strlen(prompt) - 1; len = strlen(prompt) - 1;
while (isspace(prompt[len]) || prompt[len] == ':') while (isspace(prompt[len]) || prompt[len] == ':')
prompt[len--] = '\0'; prompt[len--] = '\0';
easprintf(&s, "%s [echo on]: ", prompt); sudo_easprintf(&s, "%s [echo on]: ", prompt);
pass = auth_getpass(prompt, def_passwd_timeout * 60, pass = auth_getpass(prompt, def_passwd_timeout * 60,
SUDO_CONV_PROMPT_ECHO_ON); SUDO_CONV_PROMPT_ECHO_ON);
free(s); free(s);

View File

@ -80,7 +80,7 @@ static krb5_error_code
krb5_get_init_creds_opt_alloc(krb5_context context, krb5_get_init_creds_opt_alloc(krb5_context context,
krb5_get_init_creds_opt **opts) krb5_get_init_creds_opt **opts)
{ {
*opts = emalloc(sizeof(krb5_get_init_creds_opt)); *opts = sudo_emalloc(sizeof(krb5_get_init_creds_opt));
krb5_get_init_creds_opt_init(*opts); krb5_get_init_creds_opt_init(*opts);
return 0; return 0;
} }
@ -120,7 +120,7 @@ sudo_krb5_setup(struct passwd *pw, char **promptp, sudo_auth *auth)
/* Only rewrite prompt if user didn't specify their own. */ /* Only rewrite prompt if user didn't specify their own. */
/*if (!strcmp(prompt, PASSPROMPT)) { */ /*if (!strcmp(prompt, PASSPROMPT)) { */
easprintf(&krb5_prompt, "Password for %s: ", pname); sudo_easprintf(&krb5_prompt, "Password for %s: ", pname);
/*}*/ /*}*/
free(pname); free(pname);
} }
@ -140,7 +140,7 @@ sudo_krb5_init(struct passwd *pw, sudo_auth *auth)
auth->data = (void *) &sudo_krb5_data; /* Stash all our data here */ auth->data = (void *) &sudo_krb5_data; /* Stash all our data here */
if (sudo_krb5_instance != NULL) { if (sudo_krb5_instance != NULL) {
easprintf(&pname, "%s%s%s", pw->pw_name, sudo_easprintf(&pname, "%s%s%s", pw->pw_name,
sudo_krb5_instance[0] != '/' ? "/" : "", sudo_krb5_instance); sudo_krb5_instance[0] != '/' ? "/" : "", sudo_krb5_instance);
} }

View File

@ -360,7 +360,7 @@ converse(int num_msg, PAM_CONST struct pam_message **msg,
goto done; goto done;
#endif #endif
} }
pr->resp = estrdup(pass); pr->resp = sudo_estrdup(pass);
memset_s(pass, SUDO_CONV_REPL_MAX, 0, strlen(pass)); memset_s(pass, SUDO_CONV_REPL_MAX, 0, strlen(pass));
break; break;
case PAM_TEXT_INFO: case PAM_TEXT_INFO:

View File

@ -110,7 +110,7 @@ sudo_rfc1938_setup(struct passwd *pw, char **promptp, sudo_auth *auth)
/* Get space for new prompt with embedded challenge */ /* Get space for new prompt with embedded challenge */
if (np_size < op_len + strlen(challenge) + 7) { if (np_size < op_len + strlen(challenge) + 7) {
np_size = op_len + strlen(challenge) + 7; np_size = op_len + strlen(challenge) + 7;
new_prompt = (char *) erealloc(new_prompt, np_size); new_prompt = (char *) sudo_erealloc(new_prompt, np_size);
} }
if (def_long_otp_prompt) if (def_long_otp_prompt)

View File

@ -94,7 +94,7 @@ sudo_sia_setup(struct passwd *pw, char **promptp, sudo_auth *auth)
/* Rebuild argv for sia_ses_init() */ /* Rebuild argv for sia_ses_init() */
sudo_argc = NewArgc + 1; sudo_argc = NewArgc + 1;
sudo_argv = emallocarray(sudo_argc + 1, sizeof(char *)); sudo_argv = sudo_emallocarray(sudo_argc + 1, sizeof(char *));
sudo_argv[0] = "sudo"; sudo_argv[0] = "sudo";
for (i = 0; i < NewArgc; i++) for (i = 0; i < NewArgc; i++)
sudo_argv[i + 1] = NewArgv[i]; sudo_argv[i + 1] = NewArgv[i];

View File

@ -418,17 +418,17 @@ init_defaults(void)
#ifdef UMASK_OVERRIDE #ifdef UMASK_OVERRIDE
def_umask_override = true; def_umask_override = true;
#endif #endif
def_iolog_file = estrdup("%{seq}"); def_iolog_file = sudo_estrdup("%{seq}");
def_iolog_dir = estrdup(_PATH_SUDO_IO_LOGDIR); def_iolog_dir = sudo_estrdup(_PATH_SUDO_IO_LOGDIR);
def_sudoers_locale = estrdup("C"); def_sudoers_locale = sudo_estrdup("C");
def_env_reset = ENV_RESET; def_env_reset = ENV_RESET;
def_set_logname = true; def_set_logname = true;
def_closefrom = STDERR_FILENO + 1; def_closefrom = STDERR_FILENO + 1;
def_pam_service = estrdup("sudo"); def_pam_service = sudo_estrdup("sudo");
#ifdef HAVE_PAM_LOGIN #ifdef HAVE_PAM_LOGIN
def_pam_login_service = estrdup("sudo-i"); def_pam_login_service = sudo_estrdup("sudo-i");
#else #else
def_pam_login_service = estrdup("sudo"); def_pam_login_service = sudo_estrdup("sudo");
#endif #endif
#ifdef NO_PAM_SESSION #ifdef NO_PAM_SESSION
def_pam_session = false; def_pam_session = false;
@ -467,27 +467,27 @@ init_defaults(void)
#endif #endif
/* Now do the strings */ /* Now do the strings */
def_mailto = estrdup(MAILTO); def_mailto = sudo_estrdup(MAILTO);
def_mailsub = estrdup(N_(MAILSUBJECT)); def_mailsub = sudo_estrdup(N_(MAILSUBJECT));
def_badpass_message = estrdup(_(INCORRECT_PASSWORD)); def_badpass_message = sudo_estrdup(_(INCORRECT_PASSWORD));
def_lecture_status_dir = estrdup(_PATH_SUDO_LECTURE_DIR); def_lecture_status_dir = sudo_estrdup(_PATH_SUDO_LECTURE_DIR);
def_timestampdir = estrdup(_PATH_SUDO_TIMEDIR); def_timestampdir = sudo_estrdup(_PATH_SUDO_TIMEDIR);
def_passprompt = estrdup(_(PASSPROMPT)); def_passprompt = sudo_estrdup(_(PASSPROMPT));
def_runas_default = estrdup(RUNAS_DEFAULT); def_runas_default = sudo_estrdup(RUNAS_DEFAULT);
#ifdef _PATH_SUDO_SENDMAIL #ifdef _PATH_SUDO_SENDMAIL
def_mailerpath = estrdup(_PATH_SUDO_SENDMAIL); def_mailerpath = sudo_estrdup(_PATH_SUDO_SENDMAIL);
def_mailerflags = estrdup("-t"); def_mailerflags = sudo_estrdup("-t");
#endif #endif
#if (LOGGING & SLOG_FILE) #if (LOGGING & SLOG_FILE)
def_logfile = estrdup(_PATH_SUDO_LOGFILE); def_logfile = sudo_estrdup(_PATH_SUDO_LOGFILE);
#endif #endif
#ifdef EXEMPTGROUP #ifdef EXEMPTGROUP
def_exempt_group = estrdup(EXEMPTGROUP); def_exempt_group = sudo_estrdup(EXEMPTGROUP);
#endif #endif
#ifdef SECURE_PATH #ifdef SECURE_PATH
def_secure_path = estrdup(SECURE_PATH); def_secure_path = sudo_estrdup(SECURE_PATH);
#endif #endif
def_editor = estrdup(EDITOR); def_editor = sudo_estrdup(EDITOR);
def_set_utmp = true; def_set_utmp = true;
def_pam_setcred = true; def_pam_setcred = true;
@ -709,7 +709,7 @@ store_str(char *val, struct sudo_defs_types *def, int op)
if (op == false) if (op == false)
def->sd_un.str = NULL; def->sd_un.str = NULL;
else else
def->sd_un.str = estrdup(val); def->sd_un.str = sudo_estrdup(val);
if (def->callback) if (def->callback)
debug_return_bool(def->callback(val)); debug_return_bool(def->callback(val));
debug_return_bool(true); debug_return_bool(true);
@ -871,8 +871,8 @@ list_op(char *val, size_t len, struct sudo_defs_types *def, enum list_ops op)
/* Add new node to the head of the list. */ /* Add new node to the head of the list. */
if (op == add) { if (op == add) {
cur = ecalloc(1, sizeof(struct list_member)); cur = sudo_ecalloc(1, sizeof(struct list_member));
cur->value = estrndup(val, len); cur->value = sudo_estrndup(val, len);
SLIST_INSERT_HEAD(&def->sd_un.list, cur, entries); SLIST_INSERT_HEAD(&def->sd_un.list, cur, entries);
} }
debug_return; debug_return;

View File

@ -227,7 +227,7 @@ env_init(char * const envp[])
env.env_len = len; env.env_len = len;
env.env_size = len + 1 + 128; env.env_size = len + 1 + 128;
env.envp = emallocarray(env.env_size, sizeof(char *)); env.envp = sudo_emallocarray(env.env_size, sizeof(char *));
#ifdef ENV_DEBUG #ifdef ENV_DEBUG
memset(env.envp, 0, env.env_size * sizeof(char *)); memset(env.envp, 0, env.env_size * sizeof(char *));
#endif #endif
@ -374,7 +374,7 @@ sudo_setenv2(const char *var, const char *val, bool dupcheck, bool overwrite)
debug_decl(sudo_setenv2, SUDO_DEBUG_ENV) debug_decl(sudo_setenv2, SUDO_DEBUG_ENV)
esize = strlen(var) + 1 + strlen(val) + 1; esize = strlen(var) + 1 + strlen(val) + 1;
estring = emalloc(esize); estring = sudo_emalloc(esize);
/* Build environment string and insert it. */ /* Build environment string and insert it. */
if (strlcpy(estring, var, esize) >= esize || if (strlcpy(estring, var, esize) >= esize ||
@ -754,7 +754,7 @@ rebuild_env(void)
env.env_len = 0; env.env_len = 0;
env.env_size = 128; env.env_size = 128;
old_envp = env.envp; old_envp = env.envp;
env.envp = emallocarray(env.env_size, sizeof(char *)); env.envp = sudo_emallocarray(env.env_size, sizeof(char *));
#ifdef ENV_DEBUG #ifdef ENV_DEBUG
memset(env.envp, 0, env.env_size * sizeof(char *)); memset(env.envp, 0, env.env_size * sizeof(char *));
#else #else
@ -866,9 +866,9 @@ rebuild_env(void)
if (ISSET(sudo_mode, MODE_LOGIN_SHELL) || !ISSET(didvar, KEPT_MAIL)) { if (ISSET(sudo_mode, MODE_LOGIN_SHELL) || !ISSET(didvar, KEPT_MAIL)) {
cp = _PATH_MAILDIR; cp = _PATH_MAILDIR;
if (cp[sizeof(_PATH_MAILDIR) - 2] == '/') if (cp[sizeof(_PATH_MAILDIR) - 2] == '/')
easprintf(&cp, "MAIL=%s%s", _PATH_MAILDIR, runas_pw->pw_name); sudo_easprintf(&cp, "MAIL=%s%s", _PATH_MAILDIR, runas_pw->pw_name);
else else
easprintf(&cp, "MAIL=%s/%s", _PATH_MAILDIR, runas_pw->pw_name); sudo_easprintf(&cp, "MAIL=%s/%s", _PATH_MAILDIR, runas_pw->pw_name);
if (sudo_putenv(cp, ISSET(didvar, DID_MAIL), true) == -1) { if (sudo_putenv(cp, ISSET(didvar, DID_MAIL), true) == -1) {
free(cp); free(cp);
goto bad; goto bad;
@ -943,7 +943,7 @@ rebuild_env(void)
/* Add the SUDO_COMMAND envariable (cmnd + args). */ /* Add the SUDO_COMMAND envariable (cmnd + args). */
if (user_args) { if (user_args) {
easprintf(&cp, "SUDO_COMMAND=%s %s", user_cmnd, user_args); sudo_easprintf(&cp, "SUDO_COMMAND=%s %s", user_cmnd, user_args);
if (sudo_putenv(cp, true, true) == -1) { if (sudo_putenv(cp, true, true) == -1) {
efree(cp); efree(cp);
goto bad; goto bad;
@ -1034,7 +1034,7 @@ validate_env_vars(char * const env_vars[])
do { do {
bsize += 1024; bsize += 1024;
} while (blen + len >= bsize); } while (blen + len >= bsize);
bad = erealloc(bad, bsize); bad = sudo_erealloc(bad, bsize);
bad[blen] = '\0'; bad[blen] = '\0';
} }
strlcat(bad, *ep, bsize); strlcat(bad, *ep, bsize);
@ -1108,7 +1108,7 @@ read_env_file(const char *path, int overwrite)
val_len -= 2; val_len -= 2;
} }
cp = emalloc(var_len + 1 + val_len + 1); cp = sudo_emalloc(var_len + 1 + val_len + 1);
memcpy(cp, var, var_len + 1); /* includes '=' */ memcpy(cp, var, var_len + 1); /* includes '=' */
memcpy(cp + var_len + 1, val, val_len + 1); /* includes NUL */ memcpy(cp + var_len + 1, val, val_len + 1); /* includes NUL */
@ -1132,22 +1132,22 @@ init_envtables(void)
/* Fill in the "env_delete" list. */ /* Fill in the "env_delete" list. */
for (p = initial_badenv_table; *p; p++) { for (p = initial_badenv_table; *p; p++) {
cur = ecalloc(1, sizeof(struct list_member)); cur = sudo_ecalloc(1, sizeof(struct list_member));
cur->value = estrdup(*p); cur->value = sudo_estrdup(*p);
SLIST_INSERT_HEAD(&def_env_delete, cur, entries); SLIST_INSERT_HEAD(&def_env_delete, cur, entries);
} }
/* Fill in the "env_check" list. */ /* Fill in the "env_check" list. */
for (p = initial_checkenv_table; *p; p++) { for (p = initial_checkenv_table; *p; p++) {
cur = ecalloc(1, sizeof(struct list_member)); cur = sudo_ecalloc(1, sizeof(struct list_member));
cur->value = estrdup(*p); cur->value = sudo_estrdup(*p);
SLIST_INSERT_HEAD(&def_env_check, cur, entries); SLIST_INSERT_HEAD(&def_env_check, cur, entries);
} }
/* Fill in the "env_keep" list. */ /* Fill in the "env_keep" list. */
for (p = initial_keepenv_table; *p; p++) { for (p = initial_keepenv_table; *p; p++) {
cur = ecalloc(1, sizeof(struct list_member)); cur = sudo_ecalloc(1, sizeof(struct list_member));
cur->value = estrdup(*p); cur->value = sudo_estrdup(*p);
SLIST_INSERT_HEAD(&def_env_keep, cur, entries); SLIST_INSERT_HEAD(&def_env_keep, cur, entries);
} }
} }

View File

@ -84,7 +84,7 @@ find_path(char *infile, char **outfile, struct stat *sbp, char *path,
if (path == NULL) if (path == NULL)
debug_return_int(NOT_FOUND); debug_return_int(NOT_FOUND);
path = estrdup(path); path = sudo_estrdup(path);
origpath = path; origpath = path;
do { do {

View File

@ -142,7 +142,7 @@ sudo_getepw(const struct passwd *pw)
done: done:
#endif #endif
/* If no shadow password, fall back on regular password. */ /* If no shadow password, fall back on regular password. */
debug_return_str(estrdup(epw ? epw : pw->pw_passwd)); debug_return_str(sudo_estrdup(epw ? epw : pw->pw_passwd));
} }
void void

View File

@ -696,7 +696,7 @@ sudoerserror(const char *s)
/* Save the line the first error occurred on. */ /* Save the line the first error occurred on. */
if (errorlineno == -1) { if (errorlineno == -1) {
errorlineno = sudolineno; errorlineno = sudolineno;
errorfile = estrdup(sudoers); errorfile = sudo_estrdup(sudoers);
} }
if (sudoers_warnings && s != NULL) { if (sudoers_warnings && s != NULL) {
LEXTRACE("<*> "); LEXTRACE("<*> ");
@ -722,7 +722,7 @@ new_default(char *var, char *val, int op)
struct defaults *d; struct defaults *d;
debug_decl(new_default, SUDO_DEBUG_PARSER) debug_decl(new_default, SUDO_DEBUG_PARSER)
d = ecalloc(1, sizeof(struct defaults)); d = sudo_ecalloc(1, sizeof(struct defaults));
d->var = var; d->var = var;
d->val = val; d->val = val;
/* d->type = 0; */ /* d->type = 0; */
@ -739,7 +739,7 @@ new_member(char *name, int type)
struct member *m; struct member *m;
debug_decl(new_member, SUDO_DEBUG_PARSER) debug_decl(new_member, SUDO_DEBUG_PARSER)
m = ecalloc(1, sizeof(struct member)); m = sudo_ecalloc(1, sizeof(struct member));
m->name = name; m->name = name;
m->type = type; m->type = type;
HLTQ_INIT(m, entries); HLTQ_INIT(m, entries);
@ -753,9 +753,9 @@ new_digest(int digest_type, const char *digest_str)
struct sudo_digest *dig; struct sudo_digest *dig;
debug_decl(new_digest, SUDO_DEBUG_PARSER) debug_decl(new_digest, SUDO_DEBUG_PARSER)
dig = emalloc(sizeof(*dig)); dig = sudo_emalloc(sizeof(*dig));
dig->digest_type = digest_type; dig->digest_type = digest_type;
dig->digest_str = estrdup(digest_str); dig->digest_str = sudo_estrdup(digest_str);
debug_return_ptr(dig); debug_return_ptr(dig);
} }
@ -776,7 +776,7 @@ add_defaults(int type, struct member *bmem, struct defaults *defs)
/* /*
* We use a single binding for each entry in defs. * We use a single binding for each entry in defs.
*/ */
binding = emalloc(sizeof(*binding)); binding = sudo_emalloc(sizeof(*binding));
if (bmem != NULL) if (bmem != NULL)
HLTQ_TO_TAILQ(binding, bmem, entries); HLTQ_TO_TAILQ(binding, bmem, entries);
else else
@ -806,7 +806,7 @@ add_userspec(struct member *members, struct privilege *privs)
struct userspec *u; struct userspec *u;
debug_decl(add_userspec, SUDO_DEBUG_PARSER) debug_decl(add_userspec, SUDO_DEBUG_PARSER)
u = ecalloc(1, sizeof(*u)); u = sudo_ecalloc(1, sizeof(*u));
HLTQ_TO_TAILQ(&u->users, members, entries); HLTQ_TO_TAILQ(&u->users, members, entries);
HLTQ_TO_TAILQ(&u->privileges, privs, entries); HLTQ_TO_TAILQ(&u->privileges, privs, entries);
TAILQ_INSERT_TAIL(&userspecs, u, entries); TAILQ_INSERT_TAIL(&userspecs, u, entries);
@ -933,7 +933,7 @@ init_parser(const char *path, bool quiet)
init_lexer(); init_lexer();
efree(sudoers); efree(sudoers);
sudoers = path ? estrdup(path) : NULL; sudoers = path ? sudo_estrdup(path) : NULL;
parse_error = false; parse_error = false;
errorlineno = -1; errorlineno = -1;
@ -1273,7 +1273,7 @@ break;
case 26: case 26:
#line 246 "gram.y" #line 246 "gram.y"
{ {
struct privilege *p = ecalloc(1, sizeof(*p)); struct privilege *p = sudo_ecalloc(1, sizeof(*p));
HLTQ_TO_TAILQ(&p->hostlist, yyvsp[-2].member, entries); HLTQ_TO_TAILQ(&p->hostlist, yyvsp[-2].member, entries);
HLTQ_TO_TAILQ(&p->cmndlist, yyvsp[0].cmndspec, entries); HLTQ_TO_TAILQ(&p->cmndlist, yyvsp[0].cmndspec, entries);
HLTQ_INIT(p, entries); HLTQ_INIT(p, entries);
@ -1369,17 +1369,17 @@ break;
case 36: case 36:
#line 324 "gram.y" #line 324 "gram.y"
{ {
struct cmndspec *cs = ecalloc(1, sizeof(*cs)); struct cmndspec *cs = sudo_ecalloc(1, sizeof(*cs));
if (yyvsp[-4].runas != NULL) { if (yyvsp[-4].runas != NULL) {
if (yyvsp[-4].runas->runasusers != NULL) { if (yyvsp[-4].runas->runasusers != NULL) {
cs->runasuserlist = cs->runasuserlist =
emalloc(sizeof(*cs->runasuserlist)); sudo_emalloc(sizeof(*cs->runasuserlist));
HLTQ_TO_TAILQ(cs->runasuserlist, HLTQ_TO_TAILQ(cs->runasuserlist,
yyvsp[-4].runas->runasusers, entries); yyvsp[-4].runas->runasusers, entries);
} }
if (yyvsp[-4].runas->runasgroups != NULL) { if (yyvsp[-4].runas->runasgroups != NULL) {
cs->runasgrouplist = cs->runasgrouplist =
emalloc(sizeof(*cs->runasgrouplist)); sudo_emalloc(sizeof(*cs->runasgrouplist));
HLTQ_TO_TAILQ(cs->runasgrouplist, HLTQ_TO_TAILQ(cs->runasgrouplist,
yyvsp[-4].runas->runasgroups, entries); yyvsp[-4].runas->runasgroups, entries);
} }
@ -1565,7 +1565,7 @@ break;
case 61: case 61:
#line 466 "gram.y" #line 466 "gram.y"
{ {
yyval.runas = ecalloc(1, sizeof(struct runascontainer)); yyval.runas = sudo_ecalloc(1, sizeof(struct runascontainer));
yyval.runas->runasusers = new_member(NULL, MYSELF); yyval.runas->runasusers = new_member(NULL, MYSELF);
/* $$->runasgroups = NULL; */ /* $$->runasgroups = NULL; */
} }
@ -1573,7 +1573,7 @@ break;
case 62: case 62:
#line 471 "gram.y" #line 471 "gram.y"
{ {
yyval.runas = ecalloc(1, sizeof(struct runascontainer)); yyval.runas = sudo_ecalloc(1, sizeof(struct runascontainer));
yyval.runas->runasusers = yyvsp[0].member; yyval.runas->runasusers = yyvsp[0].member;
/* $$->runasgroups = NULL; */ /* $$->runasgroups = NULL; */
} }
@ -1581,7 +1581,7 @@ break;
case 63: case 63:
#line 476 "gram.y" #line 476 "gram.y"
{ {
yyval.runas = ecalloc(1, sizeof(struct runascontainer)); yyval.runas = sudo_ecalloc(1, sizeof(struct runascontainer));
yyval.runas->runasusers = yyvsp[-2].member; yyval.runas->runasusers = yyvsp[-2].member;
yyval.runas->runasgroups = yyvsp[0].member; yyval.runas->runasgroups = yyvsp[0].member;
} }
@ -1589,7 +1589,7 @@ break;
case 64: case 64:
#line 481 "gram.y" #line 481 "gram.y"
{ {
yyval.runas = ecalloc(1, sizeof(struct runascontainer)); yyval.runas = sudo_ecalloc(1, sizeof(struct runascontainer));
/* $$->runasusers = NULL; */ /* $$->runasusers = NULL; */
yyval.runas->runasgroups = yyvsp[0].member; yyval.runas->runasgroups = yyvsp[0].member;
} }
@ -1597,7 +1597,7 @@ break;
case 65: case 65:
#line 486 "gram.y" #line 486 "gram.y"
{ {
yyval.runas = ecalloc(1, sizeof(struct runascontainer)); yyval.runas = sudo_ecalloc(1, sizeof(struct runascontainer));
yyval.runas->runasusers = new_member(NULL, MYSELF); yyval.runas->runasusers = new_member(NULL, MYSELF);
/* $$->runasgroups = NULL; */ /* $$->runasgroups = NULL; */
} }
@ -1684,7 +1684,7 @@ break;
case 79: case 79:
#line 535 "gram.y" #line 535 "gram.y"
{ {
struct sudo_command *c = ecalloc(1, sizeof(*c)); struct sudo_command *c = sudo_ecalloc(1, sizeof(*c));
c->cmnd = yyvsp[0].command.cmnd; c->cmnd = yyvsp[0].command.cmnd;
c->args = yyvsp[0].command.args; c->args = yyvsp[0].command.args;
yyval.member = new_member((char *)c, COMMAND); yyval.member = new_member((char *)c, COMMAND);

View File

@ -244,7 +244,7 @@ privileges : privilege
; ;
privilege : hostlist '=' cmndspeclist { privilege : hostlist '=' cmndspeclist {
struct privilege *p = ecalloc(1, sizeof(*p)); struct privilege *p = sudo_ecalloc(1, sizeof(*p));
HLTQ_TO_TAILQ(&p->hostlist, $1, entries); HLTQ_TO_TAILQ(&p->hostlist, $1, entries);
HLTQ_TO_TAILQ(&p->cmndlist, $3, entries); HLTQ_TO_TAILQ(&p->cmndlist, $3, entries);
HLTQ_INIT(p, entries); HLTQ_INIT(p, entries);
@ -322,17 +322,17 @@ cmndspeclist : cmndspec
; ;
cmndspec : runasspec selinux solarisprivs cmndtag digcmnd { cmndspec : runasspec selinux solarisprivs cmndtag digcmnd {
struct cmndspec *cs = ecalloc(1, sizeof(*cs)); struct cmndspec *cs = sudo_ecalloc(1, sizeof(*cs));
if ($1 != NULL) { if ($1 != NULL) {
if ($1->runasusers != NULL) { if ($1->runasusers != NULL) {
cs->runasuserlist = cs->runasuserlist =
emalloc(sizeof(*cs->runasuserlist)); sudo_emalloc(sizeof(*cs->runasuserlist));
HLTQ_TO_TAILQ(cs->runasuserlist, HLTQ_TO_TAILQ(cs->runasuserlist,
$1->runasusers, entries); $1->runasusers, entries);
} }
if ($1->runasgroups != NULL) { if ($1->runasgroups != NULL) {
cs->runasgrouplist = cs->runasgrouplist =
emalloc(sizeof(*cs->runasgrouplist)); sudo_emalloc(sizeof(*cs->runasgrouplist));
HLTQ_TO_TAILQ(cs->runasgrouplist, HLTQ_TO_TAILQ(cs->runasgrouplist,
$1->runasgroups, entries); $1->runasgroups, entries);
} }
@ -464,27 +464,27 @@ runasspec : /* empty */ {
; ;
runaslist : /* empty */ { runaslist : /* empty */ {
$$ = ecalloc(1, sizeof(struct runascontainer)); $$ = sudo_ecalloc(1, sizeof(struct runascontainer));
$$->runasusers = new_member(NULL, MYSELF); $$->runasusers = new_member(NULL, MYSELF);
/* $$->runasgroups = NULL; */ /* $$->runasgroups = NULL; */
} }
| userlist { | userlist {
$$ = ecalloc(1, sizeof(struct runascontainer)); $$ = sudo_ecalloc(1, sizeof(struct runascontainer));
$$->runasusers = $1; $$->runasusers = $1;
/* $$->runasgroups = NULL; */ /* $$->runasgroups = NULL; */
} }
| userlist ':' grouplist { | userlist ':' grouplist {
$$ = ecalloc(1, sizeof(struct runascontainer)); $$ = sudo_ecalloc(1, sizeof(struct runascontainer));
$$->runasusers = $1; $$->runasusers = $1;
$$->runasgroups = $3; $$->runasgroups = $3;
} }
| ':' grouplist { | ':' grouplist {
$$ = ecalloc(1, sizeof(struct runascontainer)); $$ = sudo_ecalloc(1, sizeof(struct runascontainer));
/* $$->runasusers = NULL; */ /* $$->runasusers = NULL; */
$$->runasgroups = $2; $$->runasgroups = $2;
} }
| ':' { | ':' {
$$ = ecalloc(1, sizeof(struct runascontainer)); $$ = sudo_ecalloc(1, sizeof(struct runascontainer));
$$->runasusers = new_member(NULL, MYSELF); $$->runasusers = new_member(NULL, MYSELF);
/* $$->runasgroups = NULL; */ /* $$->runasgroups = NULL; */
} }
@ -533,7 +533,7 @@ cmnd : ALL {
$$ = new_member($1, ALIAS); $$ = new_member($1, ALIAS);
} }
| COMMAND { | COMMAND {
struct sudo_command *c = ecalloc(1, sizeof(*c)); struct sudo_command *c = sudo_ecalloc(1, sizeof(*c));
c->cmnd = $1.cmnd; c->cmnd = $1.cmnd;
c->args = $1.args; c->args = $1.args;
$$ = new_member((char *)c, COMMAND); $$ = new_member((char *)c, COMMAND);
@ -681,7 +681,7 @@ sudoerserror(const char *s)
/* Save the line the first error occurred on. */ /* Save the line the first error occurred on. */
if (errorlineno == -1) { if (errorlineno == -1) {
errorlineno = sudolineno; errorlineno = sudolineno;
errorfile = estrdup(sudoers); errorfile = sudo_estrdup(sudoers);
} }
if (sudoers_warnings && s != NULL) { if (sudoers_warnings && s != NULL) {
LEXTRACE("<*> "); LEXTRACE("<*> ");
@ -707,7 +707,7 @@ new_default(char *var, char *val, int op)
struct defaults *d; struct defaults *d;
debug_decl(new_default, SUDO_DEBUG_PARSER) debug_decl(new_default, SUDO_DEBUG_PARSER)
d = ecalloc(1, sizeof(struct defaults)); d = sudo_ecalloc(1, sizeof(struct defaults));
d->var = var; d->var = var;
d->val = val; d->val = val;
/* d->type = 0; */ /* d->type = 0; */
@ -724,7 +724,7 @@ new_member(char *name, int type)
struct member *m; struct member *m;
debug_decl(new_member, SUDO_DEBUG_PARSER) debug_decl(new_member, SUDO_DEBUG_PARSER)
m = ecalloc(1, sizeof(struct member)); m = sudo_ecalloc(1, sizeof(struct member));
m->name = name; m->name = name;
m->type = type; m->type = type;
HLTQ_INIT(m, entries); HLTQ_INIT(m, entries);
@ -738,9 +738,9 @@ new_digest(int digest_type, const char *digest_str)
struct sudo_digest *dig; struct sudo_digest *dig;
debug_decl(new_digest, SUDO_DEBUG_PARSER) debug_decl(new_digest, SUDO_DEBUG_PARSER)
dig = emalloc(sizeof(*dig)); dig = sudo_emalloc(sizeof(*dig));
dig->digest_type = digest_type; dig->digest_type = digest_type;
dig->digest_str = estrdup(digest_str); dig->digest_str = sudo_estrdup(digest_str);
debug_return_ptr(dig); debug_return_ptr(dig);
} }
@ -761,7 +761,7 @@ add_defaults(int type, struct member *bmem, struct defaults *defs)
/* /*
* We use a single binding for each entry in defs. * We use a single binding for each entry in defs.
*/ */
binding = emalloc(sizeof(*binding)); binding = sudo_emalloc(sizeof(*binding));
if (bmem != NULL) if (bmem != NULL)
HLTQ_TO_TAILQ(binding, bmem, entries); HLTQ_TO_TAILQ(binding, bmem, entries);
else else
@ -791,7 +791,7 @@ add_userspec(struct member *members, struct privilege *privs)
struct userspec *u; struct userspec *u;
debug_decl(add_userspec, SUDO_DEBUG_PARSER) debug_decl(add_userspec, SUDO_DEBUG_PARSER)
u = ecalloc(1, sizeof(*u)); u = sudo_ecalloc(1, sizeof(*u));
HLTQ_TO_TAILQ(&u->users, members, entries); HLTQ_TO_TAILQ(&u->users, members, entries);
HLTQ_TO_TAILQ(&u->privileges, privs, entries); HLTQ_TO_TAILQ(&u->privileges, privs, entries);
TAILQ_INSERT_TAIL(&userspecs, u, entries); TAILQ_INSERT_TAIL(&userspecs, u, entries);
@ -918,7 +918,7 @@ init_parser(const char *path, bool quiet)
init_lexer(); init_lexer();
efree(sudoers); efree(sudoers);
sudoers = path ? estrdup(path) : NULL; sudoers = path ? sudo_estrdup(path) : NULL;
parse_error = false; parse_error = false;
errorlineno = -1; errorlineno = -1;

View File

@ -135,7 +135,7 @@ group_plugin_load(char *plugin_info)
} }
} }
if (ac != 0) { if (ac != 0) {
argv = emallocarray(ac, sizeof(char *)); argv = sudo_emallocarray(ac, sizeof(char *));
ac = 0; ac = 0;
for ((cp = strtok(args, " \t")); cp; (cp = strtok(NULL, " \t"))) for ((cp = strtok(args, " \t")); cp; (cp = strtok(NULL, " \t")))
argv[ac++] = cp; argv[ac++] = cp;

View File

@ -64,7 +64,7 @@ set_interfaces(const char *ai)
struct interface *ifp; struct interface *ifp;
debug_decl(set_interfaces, SUDO_DEBUG_NETIF) debug_decl(set_interfaces, SUDO_DEBUG_NETIF)
addrinfo = estrdup(ai); addrinfo = sudo_estrdup(ai);
for (addr = strtok(addrinfo, " \t"); addr != NULL; addr = strtok(NULL, " \t")) { for (addr = strtok(addrinfo, " \t"); addr != NULL; addr = strtok(NULL, " \t")) {
/* Separate addr and mask. */ /* Separate addr and mask. */
if ((mask = strchr(addr, '/')) == NULL) if ((mask = strchr(addr, '/')) == NULL)
@ -72,7 +72,7 @@ set_interfaces(const char *ai)
*mask++ = '\0'; *mask++ = '\0';
/* Parse addr and store in list. */ /* Parse addr and store in list. */
ifp = ecalloc(1, sizeof(*ifp)); ifp = sudo_ecalloc(1, sizeof(*ifp));
if (strchr(addr, ':')) { if (strchr(addr, ':')) {
/* IPv6 */ /* IPv6 */
#ifdef HAVE_STRUCT_IN6_ADDR #ifdef HAVE_STRUCT_IN6_ADDR
@ -111,7 +111,7 @@ dump_interfaces(const char *ai)
char *cp, *addrinfo; char *cp, *addrinfo;
debug_decl(set_interfaces, SUDO_DEBUG_NETIF) debug_decl(set_interfaces, SUDO_DEBUG_NETIF)
addrinfo = estrdup(ai); addrinfo = sudo_estrdup(ai);
sudo_printf(SUDO_CONV_INFO_MSG, _("Local IP address and netmask pairs:\n")); sudo_printf(SUDO_CONV_INFO_MSG, _("Local IP address and netmask pairs:\n"));
for (cp = strtok(addrinfo, " \t"); cp != NULL; cp = strtok(NULL, " \t")) for (cp = strtok(addrinfo, " \t"); cp != NULL; cp = strtok(NULL, " \t"))

View File

@ -610,7 +610,7 @@ sudoers_io_open(unsigned int version, sudo_conv_t conversation,
/* If no I/O log path defined we need to figure it out ourselves. */ /* If no I/O log path defined we need to figure it out ourselves. */
if (details.iolog_path == NULL) { if (details.iolog_path == NULL) {
/* Get next session ID and convert it into a path. */ /* Get next session ID and convert it into a path. */
tofree = emalloc(sizeof(_PATH_SUDO_IO_LOGDIR) + sizeof(sessid) + 2); tofree = sudo_emalloc(sizeof(_PATH_SUDO_IO_LOGDIR) + sizeof(sessid) + 2);
memcpy(tofree, _PATH_SUDO_IO_LOGDIR, sizeof(_PATH_SUDO_IO_LOGDIR)); memcpy(tofree, _PATH_SUDO_IO_LOGDIR, sizeof(_PATH_SUDO_IO_LOGDIR));
if (!io_nextid(tofree, NULL, sessid)) { if (!io_nextid(tofree, NULL, sessid)) {
rval = false; rval = false;

View File

@ -172,7 +172,7 @@ expand_iolog_path(const char *prefix, const char *dir, const char *file,
/* Expanded path must be <= PATH_MAX */ /* Expanded path must be <= PATH_MAX */
if (prefix != NULL) if (prefix != NULL)
prelen = strlen(prefix); prelen = strlen(prefix);
dst = path = emalloc(prelen + PATH_MAX); dst = path = sudo_emalloc(prelen + PATH_MAX);
*path = '\0'; *path = '\0';
pathend = path + prelen + PATH_MAX; pathend = path + prelen + PATH_MAX;

View File

@ -424,7 +424,7 @@ sudo_ldap_conf_add_ports(void)
} }
efree(ldap_conf.host); efree(ldap_conf.host);
ldap_conf.host = estrdup(hostbuf); ldap_conf.host = sudo_estrdup(hostbuf);
debug_return_bool(true); debug_return_bool(true);
toobig: toobig:
@ -452,7 +452,7 @@ sudo_ldap_parse_uri(const struct ldap_config_str_list *uri_list)
hostbuf[0] = '\0'; hostbuf[0] = '\0';
STAILQ_FOREACH(entry, uri_list, entries) { STAILQ_FOREACH(entry, uri_list, entries) {
buf = estrdup(entry->val); buf = sudo_estrdup(entry->val);
for ((uri = strtok(buf, " \t")); uri != NULL; (uri = strtok(NULL, " \t"))) { for ((uri = strtok(buf, " \t")); uri != NULL; (uri = strtok(NULL, " \t"))) {
if (strncasecmp(uri, "ldap://", 7) == 0) { if (strncasecmp(uri, "ldap://", 7) == 0) {
nldap++; nldap++;
@ -505,7 +505,7 @@ sudo_ldap_parse_uri(const struct ldap_config_str_list *uri_list)
/* Store parsed URI(s) in host for ldap_create() or ldap_init(). */ /* Store parsed URI(s) in host for ldap_create() or ldap_init(). */
efree(ldap_conf.host); efree(ldap_conf.host);
ldap_conf.host = estrdup(hostbuf); ldap_conf.host = sudo_estrdup(hostbuf);
rc = LDAP_SUCCESS; rc = LDAP_SUCCESS;
@ -535,7 +535,7 @@ sudo_ldap_join_uri(struct ldap_config_str_list *uri_list)
} }
len += strlen(uri->val) + 1; len += strlen(uri->val) + 1;
} }
buf = cp = emalloc(len); buf = cp = sudo_emalloc(len);
buf[0] = '\0'; buf[0] = '\0';
STAILQ_FOREACH(uri, uri_list, entries) { STAILQ_FOREACH(uri, uri_list, entries) {
cp += strlcpy(cp, uri->val, len - (cp - buf)); cp += strlcpy(cp, uri->val, len - (cp - buf));
@ -882,7 +882,7 @@ sudo_ldap_extract_digest(char **cmnd, struct sudo_digest *digest)
ep++; ep++;
if (*ep != '\0') { if (*ep != '\0') {
digest->digest_type = digest_type; digest->digest_type = digest_type;
digest->digest_str = estrndup(cp, (size_t)(ep - cp)); digest->digest_str = sudo_estrndup(cp, (size_t)(ep - cp));
cp = ep + 1; cp = ep + 1;
while (isblank((unsigned char)*cp)) while (isblank((unsigned char)*cp))
cp++; cp++;
@ -938,10 +938,10 @@ sudo_ldap_check_command(LDAP *ld, LDAPMessage *entry, int *setenv_implied)
/* check for !command */ /* check for !command */
if (*val == '!') { if (*val == '!') {
foundbang = true; foundbang = true;
allowed_cmnd = estrdup(1 + val); /* !command */ allowed_cmnd = sudo_estrdup(1 + val); /* !command */
} else { } else {
foundbang = false; foundbang = false;
allowed_cmnd = estrdup(val); /* command */ allowed_cmnd = sudo_estrdup(val); /* command */
} }
/* split optional args away from command */ /* split optional args away from command */
@ -1025,7 +1025,7 @@ sudo_ldap_parse_options(LDAP *ld, LDAPMessage *entry)
/* walk through options */ /* walk through options */
for (p = bv; *p != NULL; p++) { for (p = bv; *p != NULL; p++) {
var = estrdup((*p)->bv_val); var = sudo_estrdup((*p)->bv_val);
DPRINTF2("ldap sudoOption: '%s'", var); DPRINTF2("ldap sudoOption: '%s'", var);
/* check for equals sign past first char */ /* check for equals sign past first char */
@ -1122,9 +1122,9 @@ sudo_ldap_build_default_filter(void)
debug_decl(sudo_ldap_build_default_filter, SUDO_DEBUG_LDAP) debug_decl(sudo_ldap_build_default_filter, SUDO_DEBUG_LDAP)
if (ldap_conf.search_filter) if (ldap_conf.search_filter)
easprintf(&filt, "(&%s(cn=defaults))", ldap_conf.search_filter); sudo_easprintf(&filt, "(&%s(cn=defaults))", ldap_conf.search_filter);
else else
filt = estrdup("cn=defaults"); filt = sudo_estrdup("cn=defaults");
debug_return_str(filt); debug_return_str(filt);
} }
@ -1266,7 +1266,7 @@ sudo_ldap_build_pass1(struct passwd *pw)
/* If timed, add space for time limits. */ /* If timed, add space for time limits. */
if (ldap_conf.timed) if (ldap_conf.timed)
sz += TIMEFILTER_LENGTH; sz += TIMEFILTER_LENGTH;
buf = emalloc(sz); buf = sudo_emalloc(sz);
*buf = '\0'; *buf = '\0';
/* /*
@ -1364,14 +1364,14 @@ sudo_ldap_build_pass2(void)
* those get ANDed in to the expression. * those get ANDed in to the expression.
*/ */
if (def_group_plugin) { if (def_group_plugin) {
easprintf(&filt, "%s%s(|(sudoUser=%s*)(sudoUser=%%:*))%s%s", sudo_easprintf(&filt, "%s%s(|(sudoUser=%s*)(sudoUser=%%:*))%s%s",
(ldap_conf.timed || ldap_conf.search_filter) ? "(&" : "", (ldap_conf.timed || ldap_conf.search_filter) ? "(&" : "",
ldap_conf.search_filter ? ldap_conf.search_filter : "", ldap_conf.search_filter ? ldap_conf.search_filter : "",
def_use_netgroups ? "+" : "", def_use_netgroups ? "+" : "",
ldap_conf.timed ? timebuffer : "", ldap_conf.timed ? timebuffer : "",
(ldap_conf.timed || ldap_conf.search_filter) ? ")" : ""); (ldap_conf.timed || ldap_conf.search_filter) ? ")" : "");
} else { } else {
easprintf(&filt, "%s%s(sudoUser=*)(sudoUser=+*)%s%s", sudo_easprintf(&filt, "%s%s(sudoUser=*)(sudoUser=+*)%s%s",
(ldap_conf.timed || ldap_conf.search_filter) ? "(&" : "", (ldap_conf.timed || ldap_conf.search_filter) ? "(&" : "",
ldap_conf.search_filter ? ldap_conf.search_filter : "", ldap_conf.search_filter ? ldap_conf.search_filter : "",
ldap_conf.timed ? timebuffer : "", ldap_conf.timed ? timebuffer : "",
@ -1394,7 +1394,7 @@ sudo_ldap_read_secret(const char *path)
*cp = '\0'; *cp = '\0';
/* copy to bindpw and binddn */ /* copy to bindpw and binddn */
efree(ldap_conf.bindpw); efree(ldap_conf.bindpw);
ldap_conf.bindpw = estrdup(buf); ldap_conf.bindpw = sudo_estrdup(buf);
efree(ldap_conf.binddn); efree(ldap_conf.binddn);
ldap_conf.binddn = ldap_conf.rootbinddn; ldap_conf.binddn = ldap_conf.rootbinddn;
ldap_conf.rootbinddn = NULL; ldap_conf.rootbinddn = NULL;
@ -1442,7 +1442,7 @@ sudo_ldap_parse_keyword(const char *keyword, const char *value,
break; break;
case CONF_STR: case CONF_STR:
efree(*(char **)(cur->valp)); efree(*(char **)(cur->valp));
*(char **)(cur->valp) = *value ? estrdup(value) : NULL; *(char **)(cur->valp) = *value ? sudo_estrdup(value) : NULL;
break; break;
case CONF_LIST_STR: case CONF_LIST_STR:
{ {
@ -1452,7 +1452,7 @@ sudo_ldap_parse_keyword(const char *keyword, const char *value,
if (len > 0) { if (len > 0) {
head = (struct ldap_config_str_list *)cur->valp; head = (struct ldap_config_str_list *)cur->valp;
str = emalloc(sizeof(*str) + len); str = sudo_emalloc(sizeof(*str) + len);
memcpy(str->val, value, len + 1); memcpy(str->val, value, len + 1);
STAILQ_INSERT_TAIL(head, str, entries); STAILQ_INSERT_TAIL(head, str, entries);
} }
@ -1538,7 +1538,7 @@ sudo_ldap_read_config(void)
ldap_conf.use_sasl = -1; ldap_conf.use_sasl = -1;
ldap_conf.rootuse_sasl = -1; ldap_conf.rootuse_sasl = -1;
ldap_conf.deref = -1; ldap_conf.deref = -1;
ldap_conf.search_filter = estrdup(DEFAULT_SEARCH_FILTER); ldap_conf.search_filter = sudo_estrdup(DEFAULT_SEARCH_FILTER);
STAILQ_INIT(&ldap_conf.uri); STAILQ_INIT(&ldap_conf.uri);
STAILQ_INIT(&ldap_conf.base); STAILQ_INIT(&ldap_conf.base);
@ -1569,7 +1569,7 @@ sudo_ldap_read_config(void)
fclose(fp); fclose(fp);
if (!ldap_conf.host) if (!ldap_conf.host)
ldap_conf.host = estrdup("localhost"); ldap_conf.host = sudo_estrdup("localhost");
DPRINTF1("LDAP Config Summary"); DPRINTF1("LDAP Config Summary");
DPRINTF1("==================="); DPRINTF1("===================");
@ -1710,7 +1710,7 @@ sudo_ldap_read_config(void)
if (ldap_conf.search_filter && ldap_conf.search_filter[0] != '(') { if (ldap_conf.search_filter && ldap_conf.search_filter[0] != '(') {
size_t len = strlen(ldap_conf.search_filter); size_t len = strlen(ldap_conf.search_filter);
cp = ldap_conf.search_filter; cp = ldap_conf.search_filter;
ldap_conf.search_filter = emalloc(len + 3); ldap_conf.search_filter = sudo_emalloc(len + 3);
ldap_conf.search_filter[0] = '('; ldap_conf.search_filter[0] = '(';
memcpy(ldap_conf.search_filter + 1, cp, len); memcpy(ldap_conf.search_filter + 1, cp, len);
ldap_conf.search_filter[len + 1] = ')'; ldap_conf.search_filter[len + 1] = ')';
@ -2338,7 +2338,7 @@ sudo_ldap_result_alloc(void)
struct ldap_result *result; struct ldap_result *result;
debug_decl(sudo_ldap_result_alloc, SUDO_DEBUG_LDAP) debug_decl(sudo_ldap_result_alloc, SUDO_DEBUG_LDAP)
result = ecalloc(1, sizeof(*result)); result = sudo_ecalloc(1, sizeof(*result));
STAILQ_INIT(&result->searches); STAILQ_INIT(&result->searches);
debug_return_ptr(result); debug_return_ptr(result);
@ -2379,7 +2379,7 @@ sudo_ldap_result_add_search(struct ldap_result *lres, LDAP *ldap,
debug_decl(sudo_ldap_result_add_search, SUDO_DEBUG_LDAP) debug_decl(sudo_ldap_result_add_search, SUDO_DEBUG_LDAP)
/* Create new entry and add it to the end of the chain. */ /* Create new entry and add it to the end of the chain. */
news = ecalloc(1, sizeof(*news)); news = sudo_ecalloc(1, sizeof(*news));
news->ldap = ldap; news->ldap = ldap;
news->searchresult = searchresult; news->searchresult = searchresult;
STAILQ_INSERT_TAIL(&lres->searches, news, entries); STAILQ_INSERT_TAIL(&lres->searches, news, entries);
@ -2573,7 +2573,7 @@ sudo_ldap_open(struct sudo_nss *nss)
goto done; goto done;
/* Create a handle container. */ /* Create a handle container. */
handle = ecalloc(1, sizeof(struct sudo_ldap_handle)); handle = sudo_ecalloc(1, sizeof(struct sudo_ldap_handle));
handle->ld = ld; handle->ld = ld;
/* handle->result = NULL; */ /* handle->result = NULL; */
/* handle->username = NULL; */ /* handle->username = NULL; */
@ -2810,7 +2810,7 @@ sudo_ldap_result_add_entry(struct ldap_result *lres, LDAPMessage *entry)
*/ */
if (++lres->nentries > lres->allocated_entries) { if (++lres->nentries > lres->allocated_entries) {
lres->allocated_entries += ALLOCATION_INCREMENT; lres->allocated_entries += ALLOCATION_INCREMENT;
lres->entries = ereallocarray(lres->entries, lres->allocated_entries, lres->entries = sudo_ereallocarray(lres->entries, lres->allocated_entries,
sizeof(lres->entries[0])); sizeof(lres->entries[0]));
} }
@ -2941,7 +2941,7 @@ sudo_ldap_result_get(struct sudo_nss *nss, struct passwd *pw)
/* Store everything in the sudo_nss handle. */ /* Store everything in the sudo_nss handle. */
handle->result = lres; handle->result = lres;
handle->username = estrdup(pw->pw_name); handle->username = sudo_estrdup(pw->pw_name);
handle->grlist = user_group_list; handle->grlist = user_group_list;
debug_return_ptr(lres); debug_return_ptr(lres);

View File

@ -36,7 +36,7 @@
#include "missing.h" #include "missing.h"
#include "fatal.h" #include "fatal.h"
#include "alloc.h" #include "sudo_alloc.h"
#include "sudo_debug.h" #include "sudo_debug.h"
#include "linux_audit.h" #include "linux_audit.h"
@ -82,7 +82,7 @@ linux_audit_command(char *argv[], int result)
/* Convert argv to a flat string. */ /* Convert argv to a flat string. */
for (size = 0, av = argv; *av != NULL; av++) for (size = 0, av = argv; *av != NULL; av++)
size += strlen(*av) + 1; size += strlen(*av) + 1;
command = cp = emalloc(size); command = cp = sudo_emalloc(size);
for (av = argv; *av != NULL; av++) { for (av = argv; *av != NULL; av++) {
n = strlcpy(cp, *av, size - (cp - command)); n = strlcpy(cp, *av, size - (cp - command));
if (n >= size - (cp - command)) { if (n >= size - (cp - command)) {

View File

@ -43,7 +43,7 @@
#include "missing.h" #include "missing.h"
#include "fatal.h" #include "fatal.h"
#include "alloc.h" #include "sudo_alloc.h"
#include "logging.h" #include "logging.h"
static int current_locale = SUDOERS_LOCALE_USER; static int current_locale = SUDOERS_LOCALE_USER;
@ -61,11 +61,11 @@ sudoers_initlocale(const char *ulocale, const char *slocale)
{ {
if (ulocale != NULL) { if (ulocale != NULL) {
efree(user_locale); efree(user_locale);
user_locale = estrdup(ulocale); user_locale = sudo_estrdup(ulocale);
} }
if (slocale != NULL) { if (slocale != NULL) {
efree(sudoers_locale); efree(sudoers_locale);
sudoers_locale = estrdup(slocale); sudoers_locale = sudo_estrdup(slocale);
} }
} }
@ -88,7 +88,7 @@ sudoers_setlocale(int newlocale, int *prevlocale)
current_locale = SUDOERS_LOCALE_USER; current_locale = SUDOERS_LOCALE_USER;
res = setlocale(LC_ALL, user_locale ? user_locale : ""); res = setlocale(LC_ALL, user_locale ? user_locale : "");
if (res != NULL && user_locale == NULL) if (res != NULL && user_locale == NULL)
user_locale = estrdup(setlocale(LC_ALL, NULL)); user_locale = sudo_estrdup(setlocale(LC_ALL, NULL));
} }
break; break;
case SUDOERS_LOCALE_SUDOERS: case SUDOERS_LOCALE_SUDOERS:
@ -100,7 +100,7 @@ sudoers_setlocale(int newlocale, int *prevlocale)
if (res == NULL && sudoers_locale != NULL) { if (res == NULL && sudoers_locale != NULL) {
if (strcmp(sudoers_locale, "C") != 0) { if (strcmp(sudoers_locale, "C") != 0) {
efree(sudoers_locale); efree(sudoers_locale);
sudoers_locale = estrdup("C"); sudoers_locale = sudo_estrdup("C");
res = setlocale(LC_ALL, "C"); res = setlocale(LC_ALL, "C");
} }
} }

View File

@ -203,10 +203,10 @@ do_logfile(char *msg)
} }
} else { } else {
if (def_log_host) { if (def_log_host) {
len = easprintf(&full_line, "%s : %s : HOST=%s : %s", len = sudo_easprintf(&full_line, "%s : %s : HOST=%s : %s",
timestr, user_name, user_srunhost, msg); timestr, user_name, user_srunhost, msg);
} else { } else {
len = easprintf(&full_line, "%s : %s : %s", len = sudo_easprintf(&full_line, "%s : %s : %s",
timestr, user_name, msg); timestr, user_name, msg);
} }
@ -443,10 +443,10 @@ vlog_warning(int flags, const char *fmt, va_list ap)
/* Expand printf-style format + args (with a special case). */ /* Expand printf-style format + args (with a special case). */
if (fmt == INCORRECT_PASSWORD_ATTEMPT) { if (fmt == INCORRECT_PASSWORD_ATTEMPT) {
unsigned int tries = va_arg(ap, unsigned int); unsigned int tries = va_arg(ap, unsigned int);
easprintf(&message, ngettext("%u incorrect password attempt", sudo_easprintf(&message, ngettext("%u incorrect password attempt",
"%u incorrect password attempts", tries), tries); "%u incorrect password attempts", tries), tries);
} else { } else {
evasprintf(&message, _(fmt), ap); sudo_evasprintf(&message, _(fmt), ap);
} }
/* Log to debug file. */ /* Log to debug file. */
@ -670,7 +670,7 @@ send_mail(const char *fmt, ...)
(void) close(pfd[1]); (void) close(pfd[1]);
/* Build up an argv based on the mailer path and flags */ /* Build up an argv based on the mailer path and flags */
mflags = estrdup(def_mailerflags); mflags = sudo_estrdup(def_mailerflags);
if ((argv[0] = strrchr(mpath, '/'))) if ((argv[0] = strrchr(mpath, '/')))
argv[0]++; argv[0]++;
else else
@ -833,7 +833,7 @@ new_logline(const char *message, int serrno)
for (ep = sudo_user.env_vars; *ep != NULL; ep++) for (ep = sudo_user.env_vars; *ep != NULL; ep++)
evlen += strlen(*ep) + 1; evlen += strlen(*ep) + 1;
evstr = emalloc(evlen); evstr = sudo_emalloc(evlen);
evstr[0] = '\0'; evstr[0] = '\0';
for (ep = sudo_user.env_vars; *ep != NULL; ep++) { for (ep = sudo_user.env_vars; *ep != NULL; ep++) {
strlcat(evstr, *ep, evlen); strlcat(evstr, *ep, evlen);
@ -853,7 +853,7 @@ new_logline(const char *message, int serrno)
/* /*
* Allocate and build up the line. * Allocate and build up the line.
*/ */
line = emalloc(++len); line = sudo_emalloc(++len);
line[0] = '\0'; line[0] = '\0';
if (message != NULL) { if (message != NULL) {

View File

@ -411,7 +411,7 @@ command_matches(const char *sudoers_cmnd, const char *sudoers_args, const struct
strcmp(user_cmnd, "sudoedit") == 0 && strcmp(user_cmnd, "sudoedit") == 0 &&
command_args_match(sudoers_cmnd, sudoers_args)) { command_args_match(sudoers_cmnd, sudoers_args)) {
efree(safe_cmnd); efree(safe_cmnd);
safe_cmnd = estrdup(sudoers_cmnd); safe_cmnd = sudo_estrdup(sudoers_cmnd);
rc = true; rc = true;
} }
goto done; goto done;
@ -459,7 +459,7 @@ command_matches_fnmatch(const char *sudoers_cmnd, const char *sudoers_args)
if (command_args_match(sudoers_cmnd, sudoers_args)) { if (command_args_match(sudoers_cmnd, sudoers_args)) {
if (safe_cmnd) if (safe_cmnd)
free(safe_cmnd); free(safe_cmnd);
safe_cmnd = estrdup(user_cmnd); safe_cmnd = sudo_estrdup(user_cmnd);
debug_return_bool(true); debug_return_bool(true);
} }
debug_return_bool(false); debug_return_bool(false);
@ -521,7 +521,7 @@ command_matches_glob(const char *sudoers_cmnd, const char *sudoers_args)
(user_stat->st_dev == sudoers_stat.st_dev && (user_stat->st_dev == sudoers_stat.st_dev &&
user_stat->st_ino == sudoers_stat.st_ino)) { user_stat->st_ino == sudoers_stat.st_ino)) {
efree(safe_cmnd); efree(safe_cmnd);
safe_cmnd = estrdup(cp); safe_cmnd = sudo_estrdup(cp);
break; break;
} }
} }
@ -531,7 +531,7 @@ command_matches_glob(const char *sudoers_cmnd, const char *sudoers_args)
if (command_args_match(sudoers_cmnd, sudoers_args)) { if (command_args_match(sudoers_cmnd, sudoers_args)) {
efree(safe_cmnd); efree(safe_cmnd);
safe_cmnd = estrdup(user_cmnd); safe_cmnd = sudo_estrdup(user_cmnd);
debug_return_bool(true); debug_return_bool(true);
} }
debug_return_bool(false); debug_return_bool(false);
@ -554,7 +554,7 @@ command_matches_normal(const char *sudoers_cmnd, const char *sudoers_args, const
if (strcmp(user_cmnd, sudoers_cmnd) == 0) { if (strcmp(user_cmnd, sudoers_cmnd) == 0) {
if (command_args_match(sudoers_cmnd, sudoers_args)) { if (command_args_match(sudoers_cmnd, sudoers_args)) {
efree(safe_cmnd); efree(safe_cmnd);
safe_cmnd = estrdup(sudoers_cmnd); safe_cmnd = sudo_estrdup(sudoers_cmnd);
debug_return_bool(true); debug_return_bool(true);
} }
} }
@ -712,7 +712,7 @@ command_matches_normal(const char *sudoers_cmnd, const char *sudoers_args, const
debug_return_bool(false); debug_return_bool(false);
} }
efree(safe_cmnd); efree(safe_cmnd);
safe_cmnd = estrdup(sudoers_cmnd); safe_cmnd = sudo_estrdup(sudoers_cmnd);
debug_return_bool(true); debug_return_bool(true);
} }
#endif /* SUDOERS_NAME_MATCH */ #endif /* SUDOERS_NAME_MATCH */
@ -766,7 +766,7 @@ command_matches_dir(const char *sudoers_dir, size_t dlen)
(user_stat->st_dev == sudoers_stat.st_dev && (user_stat->st_dev == sudoers_stat.st_dev &&
user_stat->st_ino == sudoers_stat.st_ino)) { user_stat->st_ino == sudoers_stat.st_ino)) {
efree(safe_cmnd); efree(safe_cmnd);
safe_cmnd = estrdup(buf); safe_cmnd = sudo_estrdup(buf);
break; break;
} }
} }
@ -916,7 +916,7 @@ sudo_getdomainname(void)
#ifdef HAVE_GETDOMAINNAME #ifdef HAVE_GETDOMAINNAME
char *buf, *cp; char *buf, *cp;
buf = emalloc(HOST_NAME_MAX + 1); buf = sudo_emalloc(HOST_NAME_MAX + 1);
if (getdomainname(buf, HOST_NAME_MAX + 1) == 0 && *buf != '\0') { if (getdomainname(buf, HOST_NAME_MAX + 1) == 0 && *buf != '\0') {
domain = buf; domain = buf;
for (cp = buf; *cp != '\0'; cp++) { for (cp = buf; *cp != '\0'; cp++) {

View File

@ -231,16 +231,16 @@ sudo_file_lookup(struct sudo_nss *nss, int validated, int pwflag)
#ifdef HAVE_SELINUX #ifdef HAVE_SELINUX
/* Set role and type if not specified on command line. */ /* Set role and type if not specified on command line. */
if (user_role == NULL) if (user_role == NULL)
user_role = cs->role ? estrdup(cs->role) : def_role; user_role = cs->role ? sudo_estrdup(cs->role) : def_role;
if (user_type == NULL) if (user_type == NULL)
user_type = cs->type ? estrdup(cs->type) : def_type; user_type = cs->type ? sudo_estrdup(cs->type) : def_type;
#endif /* HAVE_SELINUX */ #endif /* HAVE_SELINUX */
#ifdef HAVE_PRIV_SET #ifdef HAVE_PRIV_SET
/* Set Solaris privilege sets */ /* Set Solaris privilege sets */
if (runas_privs == NULL) if (runas_privs == NULL)
runas_privs = cs->privs ? estrdup(cs->privs) : def_privs; runas_privs = cs->privs ? sudo_estrdup(cs->privs) : def_privs;
if (runas_limitprivs == NULL) if (runas_limitprivs == NULL)
runas_limitprivs = cs->limitprivs ? estrdup(cs->limitprivs) : def_limitprivs; runas_limitprivs = cs->limitprivs ? sudo_estrdup(cs->limitprivs) : def_limitprivs;
#endif /* HAVE_PRIV_SET */ #endif /* HAVE_PRIV_SET */
/* /*
* If user is running command as himself, * If user is running command as himself,

View File

@ -277,7 +277,7 @@ sudoers_policy_deserialize_info(void *v, char **runas_user, char **runas_group)
for (cur = info->user_info; *cur != NULL; cur++) { for (cur = info->user_info; *cur != NULL; cur++) {
if (MATCHES(*cur, "user=")) { if (MATCHES(*cur, "user=")) {
user_name = estrdup(*cur + sizeof("user=") - 1); user_name = sudo_estrdup(*cur + sizeof("user=") - 1);
continue; continue;
} }
if (MATCHES(*cur, "uid=")) { if (MATCHES(*cur, "uid=")) {
@ -303,19 +303,19 @@ sudoers_policy_deserialize_info(void *v, char **runas_user, char **runas_group)
continue; continue;
} }
if (MATCHES(*cur, "cwd=")) { if (MATCHES(*cur, "cwd=")) {
user_cwd = estrdup(*cur + sizeof("cwd=") - 1); user_cwd = sudo_estrdup(*cur + sizeof("cwd=") - 1);
continue; continue;
} }
if (MATCHES(*cur, "tty=")) { if (MATCHES(*cur, "tty=")) {
user_tty = user_ttypath = estrdup(*cur + sizeof("tty=") - 1); user_tty = user_ttypath = sudo_estrdup(*cur + sizeof("tty=") - 1);
if (strncmp(user_tty, _PATH_DEV, sizeof(_PATH_DEV) - 1) == 0) if (strncmp(user_tty, _PATH_DEV, sizeof(_PATH_DEV) - 1) == 0)
user_tty += sizeof(_PATH_DEV) - 1; user_tty += sizeof(_PATH_DEV) - 1;
continue; continue;
} }
if (MATCHES(*cur, "host=")) { if (MATCHES(*cur, "host=")) {
user_host = user_shost = estrdup(*cur + sizeof("host=") - 1); user_host = user_shost = sudo_estrdup(*cur + sizeof("host=") - 1);
if ((p = strchr(user_host, '.'))) if ((p = strchr(user_host, '.')))
user_shost = estrndup(user_host, (size_t)(p - user_host)); user_shost = sudo_estrndup(user_host, (size_t)(p - user_host));
continue; continue;
} }
if (MATCHES(*cur, "lines=")) { if (MATCHES(*cur, "lines=")) {
@ -348,13 +348,13 @@ sudoers_policy_deserialize_info(void *v, char **runas_user, char **runas_group)
continue; continue;
} }
} }
user_runhost = user_srunhost = estrdup(remhost ? remhost : user_host); user_runhost = user_srunhost = sudo_estrdup(remhost ? remhost : user_host);
if ((p = strchr(user_runhost, '.'))) if ((p = strchr(user_runhost, '.')))
user_srunhost = estrndup(user_runhost, (size_t)(p - user_runhost)); user_srunhost = sudo_estrndup(user_runhost, (size_t)(p - user_runhost));
if (user_cwd == NULL) if (user_cwd == NULL)
user_cwd = estrdup("unknown"); user_cwd = sudo_estrdup("unknown");
if (user_tty == NULL) if (user_tty == NULL)
user_tty = estrdup("unknown"); /* user_ttypath remains NULL */ user_tty = sudo_estrdup("unknown"); /* user_ttypath remains NULL */
if (groups != NULL && groups[0] != '\0') { if (groups != NULL && groups[0] != '\0') {
/* sudo_parse_gids() will print a warning on error. */ /* sudo_parse_gids() will print a warning on error. */
@ -399,48 +399,48 @@ sudoers_policy_exec_setup(char *argv[], char *envp[], mode_t cmnd_umask,
debug_decl(sudoers_policy_exec_setup, SUDO_DEBUG_PLUGIN) debug_decl(sudoers_policy_exec_setup, SUDO_DEBUG_PLUGIN)
/* Increase the length of command_info as needed, it is *not* checked. */ /* Increase the length of command_info as needed, it is *not* checked. */
command_info = ecalloc(32, sizeof(char **)); command_info = sudo_ecalloc(32, sizeof(char **));
command_info[info_len++] = sudo_new_key_val("command", safe_cmnd); command_info[info_len++] = sudo_new_key_val("command", safe_cmnd);
if (def_log_input || def_log_output) { if (def_log_input || def_log_output) {
if (iolog_path) if (iolog_path)
command_info[info_len++] = iolog_path; command_info[info_len++] = iolog_path;
if (def_log_input) { if (def_log_input) {
command_info[info_len++] = estrdup("iolog_stdin=true"); command_info[info_len++] = sudo_estrdup("iolog_stdin=true");
command_info[info_len++] = estrdup("iolog_ttyin=true"); command_info[info_len++] = sudo_estrdup("iolog_ttyin=true");
} }
if (def_log_output) { if (def_log_output) {
command_info[info_len++] = estrdup("iolog_stdout=true"); command_info[info_len++] = sudo_estrdup("iolog_stdout=true");
command_info[info_len++] = estrdup("iolog_stderr=true"); command_info[info_len++] = sudo_estrdup("iolog_stderr=true");
command_info[info_len++] = estrdup("iolog_ttyout=true"); command_info[info_len++] = sudo_estrdup("iolog_ttyout=true");
} }
if (def_compress_io) { if (def_compress_io) {
command_info[info_len++] = estrdup("iolog_compress=true"); command_info[info_len++] = sudo_estrdup("iolog_compress=true");
} }
if (def_maxseq) { if (def_maxseq) {
easprintf(&command_info[info_len++], "maxseq=%u", def_maxseq); sudo_easprintf(&command_info[info_len++], "maxseq=%u", def_maxseq);
} }
} }
if (ISSET(sudo_mode, MODE_EDIT)) if (ISSET(sudo_mode, MODE_EDIT))
command_info[info_len++] = estrdup("sudoedit=true"); command_info[info_len++] = sudo_estrdup("sudoedit=true");
if (ISSET(sudo_mode, MODE_LOGIN_SHELL)) { if (ISSET(sudo_mode, MODE_LOGIN_SHELL)) {
/* Set cwd to run user's homedir. */ /* Set cwd to run user's homedir. */
command_info[info_len++] = sudo_new_key_val("cwd", runas_pw->pw_dir); command_info[info_len++] = sudo_new_key_val("cwd", runas_pw->pw_dir);
} }
if (def_stay_setuid) { if (def_stay_setuid) {
easprintf(&command_info[info_len++], "runas_uid=%u", sudo_easprintf(&command_info[info_len++], "runas_uid=%u",
(unsigned int)user_uid); (unsigned int)user_uid);
easprintf(&command_info[info_len++], "runas_gid=%u", sudo_easprintf(&command_info[info_len++], "runas_gid=%u",
(unsigned int)user_gid); (unsigned int)user_gid);
easprintf(&command_info[info_len++], "runas_euid=%u", sudo_easprintf(&command_info[info_len++], "runas_euid=%u",
(unsigned int)runas_pw->pw_uid); (unsigned int)runas_pw->pw_uid);
easprintf(&command_info[info_len++], "runas_egid=%u", sudo_easprintf(&command_info[info_len++], "runas_egid=%u",
runas_gr ? (unsigned int)runas_gr->gr_gid : runas_gr ? (unsigned int)runas_gr->gr_gid :
(unsigned int)runas_pw->pw_gid); (unsigned int)runas_pw->pw_gid);
} else { } else {
easprintf(&command_info[info_len++], "runas_uid=%u", sudo_easprintf(&command_info[info_len++], "runas_uid=%u",
(unsigned int)runas_pw->pw_uid); (unsigned int)runas_pw->pw_uid);
easprintf(&command_info[info_len++], "runas_gid=%u", sudo_easprintf(&command_info[info_len++], "runas_gid=%u",
runas_gr ? (unsigned int)runas_gr->gr_gid : runas_gr ? (unsigned int)runas_gr->gr_gid :
(unsigned int)runas_pw->pw_gid); (unsigned int)runas_pw->pw_gid);
} }
@ -456,7 +456,7 @@ sudoers_policy_exec_setup(char *argv[], char *envp[], mode_t cmnd_umask,
/* We reserve an extra spot in the list for the effective gid. */ /* We reserve an extra spot in the list for the effective gid. */
glsize = sizeof("runas_groups=") - 1 + glsize = sizeof("runas_groups=") - 1 +
((grlist->ngids + 1) * (MAX_UID_T_LEN + 1)); ((grlist->ngids + 1) * (MAX_UID_T_LEN + 1));
gid_list = emalloc(glsize); gid_list = sudo_emalloc(glsize);
memcpy(gid_list, "runas_groups=", sizeof("runas_groups=") - 1); memcpy(gid_list, "runas_groups=", sizeof("runas_groups=") - 1);
cp = gid_list + sizeof("runas_groups=") - 1; cp = gid_list + sizeof("runas_groups=") - 1;
@ -484,19 +484,19 @@ sudoers_policy_exec_setup(char *argv[], char *envp[], mode_t cmnd_umask,
sudo_grlist_delref(grlist); sudo_grlist_delref(grlist);
} }
if (def_closefrom >= 0) if (def_closefrom >= 0)
easprintf(&command_info[info_len++], "closefrom=%d", def_closefrom); sudo_easprintf(&command_info[info_len++], "closefrom=%d", def_closefrom);
if (def_noexec) if (def_noexec)
command_info[info_len++] = estrdup("noexec=true"); command_info[info_len++] = sudo_estrdup("noexec=true");
if (def_exec_background) if (def_exec_background)
command_info[info_len++] = estrdup("exec_background=true"); command_info[info_len++] = sudo_estrdup("exec_background=true");
if (def_set_utmp) if (def_set_utmp)
command_info[info_len++] = estrdup("set_utmp=true"); command_info[info_len++] = sudo_estrdup("set_utmp=true");
if (def_use_pty) if (def_use_pty)
command_info[info_len++] = estrdup("use_pty=true"); command_info[info_len++] = sudo_estrdup("use_pty=true");
if (def_utmp_runas) if (def_utmp_runas)
command_info[info_len++] = sudo_new_key_val("utmp_user", runas_pw->pw_name); command_info[info_len++] = sudo_new_key_val("utmp_user", runas_pw->pw_name);
if (cmnd_umask != 0777) if (cmnd_umask != 0777)
easprintf(&command_info[info_len++], "umask=0%o", (unsigned int)cmnd_umask); sudo_easprintf(&command_info[info_len++], "umask=0%o", (unsigned int)cmnd_umask);
#ifdef HAVE_LOGIN_CAP_H #ifdef HAVE_LOGIN_CAP_H
if (def_use_loginclass) if (def_use_loginclass)
command_info[info_len++] = sudo_new_key_val("login_class", login_class); command_info[info_len++] = sudo_new_key_val("login_class", login_class);

View File

@ -97,7 +97,7 @@ expand_prompt(const char *old_prompt, const char *auth_user)
} }
if (subst) { if (subst) {
new_prompt = emalloc(++len); new_prompt = sudo_emalloc(++len);
endp = new_prompt + len; endp = new_prompt + len;
for (p = old_prompt, np = new_prompt; *p; p++) { for (p = old_prompt, np = new_prompt; *p; p++) {
if (p[0] =='%') { if (p[0] =='%') {
@ -152,7 +152,7 @@ expand_prompt(const char *old_prompt, const char *auth_user)
} }
*np = '\0'; *np = '\0';
} else } else
new_prompt = estrdup(old_prompt); new_prompt = sudo_estrdup(old_prompt);
debug_return_str(new_prompt); debug_return_str(new_prompt);

View File

@ -139,7 +139,7 @@ sudo_getpwuid(uid_t uid)
#endif #endif
item = sudo_make_pwitem(uid, NULL); item = sudo_make_pwitem(uid, NULL);
if (item == NULL) { if (item == NULL) {
item = ecalloc(1, sizeof(*item)); item = sudo_ecalloc(1, sizeof(*item));
item->refcnt = 1; item->refcnt = 1;
item->k.uid = uid; item->k.uid = uid;
/* item->d.pw = NULL; */ /* item->d.pw = NULL; */
@ -183,7 +183,7 @@ sudo_getpwnam(const char *name)
item = sudo_make_pwitem((uid_t)-1, name); item = sudo_make_pwitem((uid_t)-1, name);
if (item == NULL) { if (item == NULL) {
len = strlen(name) + 1; len = strlen(name) + 1;
item = ecalloc(1, sizeof(*item) + len); item = sudo_ecalloc(1, sizeof(*item) + len);
item->refcnt = 1; item->refcnt = 1;
item->k.name = (char *) item + sizeof(*item); item->k.name = (char *) item + sizeof(*item);
memcpy(item->k.name, name, len); memcpy(item->k.name, name, len);
@ -231,7 +231,7 @@ sudo_mkpwent(const char *user, uid_t uid, gid_t gid, const char *home,
home_len + 1 /* pw_dir */ + shell_len + 1 /* pw_shell */; home_len + 1 /* pw_dir */ + shell_len + 1 /* pw_shell */;
for (i = 0; i < 2; i++) { for (i = 0; i < 2; i++) {
pwitem = ecalloc(1, len); pwitem = sudo_ecalloc(1, len);
pw = &pwitem->pw; pw = &pwitem->pw;
pw->pw_uid = uid; pw->pw_uid = uid;
pw->pw_gid = gid; pw->pw_gid = gid;
@ -390,7 +390,7 @@ sudo_getgrgid(gid_t gid)
*/ */
item = sudo_make_gritem(gid, NULL); item = sudo_make_gritem(gid, NULL);
if (item == NULL) { if (item == NULL) {
item = ecalloc(1, sizeof(*item)); item = sudo_ecalloc(1, sizeof(*item));
item->refcnt = 1; item->refcnt = 1;
item->k.gid = gid; item->k.gid = gid;
/* item->d.gr = NULL; */ /* item->d.gr = NULL; */
@ -428,7 +428,7 @@ sudo_getgrnam(const char *name)
item = sudo_make_gritem((gid_t)-1, name); item = sudo_make_gritem((gid_t)-1, name);
if (item == NULL) { if (item == NULL) {
len = strlen(name) + 1; len = strlen(name) + 1;
item = ecalloc(1, sizeof(*item) + len); item = sudo_ecalloc(1, sizeof(*item) + len);
item->refcnt = 1; item->refcnt = 1;
item->k.name = (char *) item + sizeof(*item); item->k.name = (char *) item + sizeof(*item);
memcpy(item->k.name, name, len); memcpy(item->k.name, name, len);
@ -462,7 +462,7 @@ sudo_fakegrnam(const char *group)
len = sizeof(*gritem) + name_len + 1; len = sizeof(*gritem) + name_len + 1;
for (i = 0; i < 2; i++) { for (i = 0; i < 2; i++) {
gritem = ecalloc(1, len); gritem = sudo_ecalloc(1, len);
gr = &gritem->gr; gr = &gritem->gr;
gr->gr_gid = (gid_t) atoid(group + 1, NULL, NULL, &errstr); gr->gr_gid = (gid_t) atoid(group + 1, NULL, NULL, &errstr);
gr->gr_name = (char *)(gritem + 1); gr->gr_name = (char *)(gritem + 1);
@ -594,7 +594,7 @@ sudo_get_grlist(const struct passwd *pw)
if (item == NULL) { if (item == NULL) {
/* Should not happen. */ /* Should not happen. */
len = strlen(pw->pw_name) + 1; len = strlen(pw->pw_name) + 1;
item = ecalloc(1, sizeof(*item) + len); item = sudo_ecalloc(1, sizeof(*item) + len);
item->refcnt = 1; item->refcnt = 1;
item->k.name = (char *) item + sizeof(*item); item->k.name = (char *) item + sizeof(*item);
memcpy(item->k.name, pw->pw_name, len); memcpy(item->k.name, pw->pw_name, len);

View File

@ -116,7 +116,7 @@ sudo_make_pwitem(uid_t uid, const char *name)
total += strlen(name) + 1; total += strlen(name) + 1;
/* Allocate space for struct item, struct passwd and the strings. */ /* Allocate space for struct item, struct passwd and the strings. */
pwitem = ecalloc(1, total); pwitem = sudo_ecalloc(1, total);
newpw = &pwitem->pw; newpw = &pwitem->pw;
/* /*
@ -183,7 +183,7 @@ sudo_make_gritem(gid_t gid, const char *name)
if (name != NULL) if (name != NULL)
total += strlen(name) + 1; total += strlen(name) + 1;
gritem = ecalloc(1, total); gritem = sudo_ecalloc(1, total);
/* /*
* Copy in group contents and make strings relative to space * Copy in group contents and make strings relative to space
@ -245,7 +245,7 @@ sudo_make_grlist_item(const struct passwd *pw, char * const *unused1,
} else { } else {
if (sudo_user.max_groups > 0) { if (sudo_user.max_groups > 0) {
ngids = sudo_user.max_groups; ngids = sudo_user.max_groups;
gids = emallocarray(ngids, sizeof(GETGROUPS_T)); gids = sudo_emallocarray(ngids, sizeof(GETGROUPS_T));
(void)getgrouplist(pw->pw_name, pw->pw_gid, gids, &ngids); (void)getgrouplist(pw->pw_name, pw->pw_gid, gids, &ngids);
} else { } else {
#if defined(HAVE_SYSCONF) && defined(_SC_NGROUPS_MAX) #if defined(HAVE_SYSCONF) && defined(_SC_NGROUPS_MAX)
@ -253,10 +253,10 @@ sudo_make_grlist_item(const struct passwd *pw, char * const *unused1,
if (ngids < 0) if (ngids < 0)
#endif #endif
ngids = NGROUPS_MAX * 2; ngids = NGROUPS_MAX * 2;
gids = emallocarray(ngids, sizeof(GETGROUPS_T)); gids = sudo_emallocarray(ngids, sizeof(GETGROUPS_T));
if (getgrouplist(pw->pw_name, pw->pw_gid, gids, &ngids) == -1) { if (getgrouplist(pw->pw_name, pw->pw_gid, gids, &ngids) == -1) {
efree(gids); efree(gids);
gids = emallocarray(ngids, sizeof(GETGROUPS_T)); gids = sudo_emallocarray(ngids, sizeof(GETGROUPS_T));
if (getgrouplist(pw->pw_name, pw->pw_gid, gids, &ngids) == -1) if (getgrouplist(pw->pw_name, pw->pw_gid, gids, &ngids) == -1)
ngids = -1; ngids = -1;
} }
@ -285,7 +285,7 @@ sudo_make_grlist_item(const struct passwd *pw, char * const *unused1,
total += groupname_len * ngids; total += groupname_len * ngids;
again: again:
grlitem = ecalloc(1, total); grlitem = sudo_ecalloc(1, total);
/* /*
* Copy in group list and make pointers relative to space * Copy in group list and make pointers relative to space

View File

@ -55,7 +55,7 @@
#endif /* STDC_HEADERS */ #endif /* STDC_HEADERS */
#include "missing.h" #include "missing.h"
#include "alloc.h" #include "sudo_alloc.h"
#include "sudo_debug.h" #include "sudo_debug.h"
#include "redblack.h" #include "redblack.h"
@ -92,7 +92,7 @@ rbcreate(int (*compar)(const void *, const void*))
struct rbtree *tree; struct rbtree *tree;
debug_decl(rbcreate, SUDO_DEBUG_RBTREE) debug_decl(rbcreate, SUDO_DEBUG_RBTREE)
tree = (struct rbtree *) emalloc(sizeof(*tree)); tree = (struct rbtree *) sudo_emalloc(sizeof(*tree));
tree->compar = compar; tree->compar = compar;
/* /*
@ -187,7 +187,7 @@ rbinsert(struct rbtree *tree, void *data)
node = res < 0 ? node->left : node->right; node = res < 0 ? node->left : node->right;
} }
node = (struct rbnode *) emalloc(sizeof(*node)); node = (struct rbnode *) sudo_emalloc(sizeof(*node));
node->data = data; node->data = data;
node->left = node->right = rbnil(tree); node->left = node->right = rbnil(tree);
node->parent = parent; node->parent = parent;

View File

@ -128,14 +128,14 @@ sudo_sss_attrcpy(struct sss_sudo_attr *dst, const struct sss_sudo_attr *src)
debug_decl(sudo_sss_attrcpy, SUDO_DEBUG_SSSD) debug_decl(sudo_sss_attrcpy, SUDO_DEBUG_SSSD)
sudo_debug_printf(SUDO_DEBUG_DEBUG, "dst=%p, src=%p", dst, src); sudo_debug_printf(SUDO_DEBUG_DEBUG, "dst=%p, src=%p", dst, src);
sudo_debug_printf(SUDO_DEBUG_INFO, "emalloc: cnt=%d", src->num_values); sudo_debug_printf(SUDO_DEBUG_INFO, "sudo_emalloc: cnt=%d", src->num_values);
dst->name = estrdup(src->name); dst->name = sudo_estrdup(src->name);
dst->num_values = src->num_values; dst->num_values = src->num_values;
dst->values = emallocarray(dst->num_values, sizeof(char *)); dst->values = sudo_emallocarray(dst->num_values, sizeof(char *));
for (i = 0; i < dst->num_values; ++i) for (i = 0; i < dst->num_values; ++i)
dst->values[i] = estrdup(src->values[i]); dst->values[i] = sudo_estrdup(src->values[i]);
debug_return; debug_return;
} }
@ -147,10 +147,10 @@ sudo_sss_rulecpy(struct sss_sudo_rule *dst, const struct sss_sudo_rule *src)
debug_decl(sudo_sss_rulecpy, SUDO_DEBUG_SSSD) debug_decl(sudo_sss_rulecpy, SUDO_DEBUG_SSSD)
sudo_debug_printf(SUDO_DEBUG_DEBUG, "dst=%p, src=%p", dst, src); sudo_debug_printf(SUDO_DEBUG_DEBUG, "dst=%p, src=%p", dst, src);
sudo_debug_printf(SUDO_DEBUG_INFO, "emalloc: cnt=%d", src->num_attrs); sudo_debug_printf(SUDO_DEBUG_INFO, "sudo_emalloc: cnt=%d", src->num_attrs);
dst->num_attrs = src->num_attrs; dst->num_attrs = src->num_attrs;
dst->attrs = emallocarray(dst->num_attrs, sizeof(struct sss_sudo_attr)); dst->attrs = sudo_emallocarray(dst->num_attrs, sizeof(struct sss_sudo_attr));
for (i = 0; i < dst->num_attrs; ++i) for (i = 0; i < dst->num_attrs; ++i)
sudo_sss_attrcpy(dst->attrs + i, src->attrs + i); sudo_sss_attrcpy(dst->attrs + i, src->attrs + i);
@ -182,11 +182,11 @@ sudo_sss_filter_result(struct sudo_sss_handle *handle,
if (in_res == NULL) if (in_res == NULL)
debug_return_ptr(NULL); debug_return_ptr(NULL);
sudo_debug_printf(SUDO_DEBUG_DEBUG, "emalloc: cnt=%d", in_res->num_rules); sudo_debug_printf(SUDO_DEBUG_DEBUG, "sudo_emalloc: cnt=%d", in_res->num_rules);
out_res = emalloc(sizeof(struct sss_sudo_result)); out_res = sudo_emalloc(sizeof(struct sss_sudo_result));
out_res->rules = in_res->num_rules > 0 ? out_res->rules = in_res->num_rules > 0 ?
emallocarray(in_res->num_rules, sizeof(struct sss_sudo_rule)) : NULL; sudo_emallocarray(in_res->num_rules, sizeof(struct sss_sudo_rule)) : NULL;
out_res->num_rules = 0; out_res->num_rules = 0;
for (i = l = 0; i < in_res->num_rules; ++i) { for (i = l = 0; i < in_res->num_rules; ++i) {
@ -210,7 +210,7 @@ sudo_sss_filter_result(struct sudo_sss_handle *handle,
in_res->num_rules, l); in_res->num_rules, l);
if (l > 0) { if (l > 0) {
out_res->rules = out_res->rules =
ereallocarray(out_res->rules, l, sizeof(struct sss_sudo_rule)); sudo_ereallocarray(out_res->rules, l, sizeof(struct sss_sudo_rule));
} else { } else {
efree(out_res->rules); efree(out_res->rules);
out_res->rules = NULL; out_res->rules = NULL;
@ -244,7 +244,7 @@ static int sudo_sss_open(struct sudo_nss *nss)
debug_decl(sudo_sss_open, SUDO_DEBUG_SSSD); debug_decl(sudo_sss_open, SUDO_DEBUG_SSSD);
/* Create a handle container. */ /* Create a handle container. */
handle = emalloc(sizeof(struct sudo_sss_handle)); handle = sudo_emalloc(sizeof(struct sudo_sss_handle));
/* Load symbols */ /* Load symbols */
handle->ssslib = sudo_dso_load(path, SUDO_DSO_LAZY); handle->ssslib = sudo_dso_load(path, SUDO_DSO_LAZY);
@ -817,7 +817,7 @@ sudo_sss_extract_digest(char **cmnd, struct sudo_digest *digest)
ep++; ep++;
if (*ep != '\0') { if (*ep != '\0') {
digest->digest_type = digest_type; digest->digest_type = digest_type;
digest->digest_str = estrndup(cp, (size_t)(ep - cp)); digest->digest_str = sudo_estrndup(cp, (size_t)(ep - cp));
cp = ep + 1; cp = ep + 1;
while (isblank((unsigned char)*cp)) while (isblank((unsigned char)*cp))
cp++; cp++;
@ -887,10 +887,10 @@ sudo_sss_check_command(struct sudo_sss_handle *handle,
/* check for !command */ /* check for !command */
if (*val == '!') { if (*val == '!') {
foundbang = true; foundbang = true;
allowed_cmnd = estrdup(1 + val); /* !command */ allowed_cmnd = sudo_estrdup(1 + val); /* !command */
} else { } else {
foundbang = false; foundbang = false;
allowed_cmnd = estrdup(val); /* command */ allowed_cmnd = sudo_estrdup(val); /* command */
} }
/* split optional args away from command */ /* split optional args away from command */
@ -945,7 +945,7 @@ sudo_sss_parse_options(struct sudo_sss_handle *handle, struct sss_sudo_rule *rul
for (i = 0; val_array[i] != NULL; i++) { for (i = 0; val_array[i] != NULL; i++) {
sudo_debug_printf(SUDO_DEBUG_INFO, "sssd/ldap sudoOption: '%s'", sudo_debug_printf(SUDO_DEBUG_INFO, "sssd/ldap sudoOption: '%s'",
val_array[i]); val_array[i]);
v = estrdup(val_array[i]); v = sudo_estrdup(val_array[i]);
/* check for equals sign past first char */ /* check for equals sign past first char */
val = strchr(v, '='); val = strchr(v, '=');

View File

@ -248,17 +248,17 @@ sudoers_policy_main(int argc, char * const argv[], int pwflag, char *env_add[],
*/ */
if (argc == 0) { if (argc == 0) {
NewArgc = 1; NewArgc = 1;
NewArgv = emallocarray(NewArgc + 1, sizeof(char *)); NewArgv = sudo_emallocarray(NewArgc + 1, sizeof(char *));
NewArgv[0] = user_cmnd; NewArgv[0] = user_cmnd;
NewArgv[1] = NULL; NewArgv[1] = NULL;
} else { } else {
/* Must leave an extra slot before NewArgv for bash's --login */ /* Must leave an extra slot before NewArgv for bash's --login */
NewArgc = argc; NewArgc = argc;
NewArgv = emallocarray(NewArgc + 2, sizeof(char *)); NewArgv = sudo_emallocarray(NewArgc + 2, sizeof(char *));
memcpy(++NewArgv, argv, argc * sizeof(char *)); memcpy(++NewArgv, argv, argc * sizeof(char *));
NewArgv[NewArgc] = NULL; NewArgv[NewArgc] = NULL;
if (ISSET(sudo_mode, MODE_LOGIN_SHELL) && runas_pw != NULL) if (ISSET(sudo_mode, MODE_LOGIN_SHELL) && runas_pw != NULL)
NewArgv[0] = estrdup(runas_pw->pw_shell); NewArgv[0] = sudo_estrdup(runas_pw->pw_shell);
} }
/* If given the -P option, set the "preserve_groups" flag. */ /* If given the -P option, set the "preserve_groups" flag. */
@ -305,7 +305,7 @@ sudoers_policy_main(int argc, char * const argv[], int pwflag, char *env_add[],
sudoers_setlocale(oldlocale, NULL); sudoers_setlocale(oldlocale, NULL);
if (safe_cmnd == NULL) if (safe_cmnd == NULL)
safe_cmnd = estrdup(user_cmnd); safe_cmnd = sudo_estrdup(user_cmnd);
/* If only a group was specified, set runas_pw based on invoking user. */ /* If only a group was specified, set runas_pw based on invoking user. */
if (runas_pw == NULL) { if (runas_pw == NULL) {
@ -643,7 +643,7 @@ set_cmnd(void)
debug_decl(set_cmnd, SUDO_DEBUG_PLUGIN) debug_decl(set_cmnd, SUDO_DEBUG_PLUGIN)
/* Allocate user_stat for find_path() and match functions. */ /* Allocate user_stat for find_path() and match functions. */
user_stat = ecalloc(1, sizeof(struct stat)); user_stat = sudo_ecalloc(1, sizeof(struct stat));
/* Default value for cmnd, overridden below. */ /* Default value for cmnd, overridden below. */
if (user_cmnd == NULL) if (user_cmnd == NULL)
@ -684,7 +684,7 @@ set_cmnd(void)
/* Alloc and build up user_args. */ /* Alloc and build up user_args. */
for (size = 0, av = NewArgv + 1; *av; av++) for (size = 0, av = NewArgv + 1; *av; av++)
size += strlen(*av) + 1; size += strlen(*av) + 1;
user_args = emalloc(size); user_args = sudo_emalloc(size);
if (ISSET(sudo_mode, MODE_SHELL|MODE_LOGIN_SHELL)) { if (ISSET(sudo_mode, MODE_SHELL|MODE_LOGIN_SHELL)) {
/* /*
* When running a command via a shell, the sudo front-end * When running a command via a shell, the sudo front-end
@ -883,10 +883,10 @@ set_fqdn(void)
if (user_shost != user_host) if (user_shost != user_host)
efree(user_shost); efree(user_shost);
efree(user_host); efree(user_host);
user_host = estrdup(res0->ai_canonname); user_host = sudo_estrdup(res0->ai_canonname);
freeaddrinfo(res0); freeaddrinfo(res0);
if ((p = strchr(user_host, '.')) != NULL) if ((p = strchr(user_host, '.')) != NULL)
user_shost = estrndup(user_host, (size_t)(p - user_host)); user_shost = sudo_estrndup(user_host, (size_t)(p - user_host));
else else
user_shost = user_host; user_shost = user_host;
} }
@ -1008,7 +1008,7 @@ resolve_editor(const char *ed, size_t edlen, int nfiles, char **files, char ***a
debug_decl(resolve_editor, SUDO_DEBUG_PLUGIN) debug_decl(resolve_editor, SUDO_DEBUG_PLUGIN)
/* Note: editor becomes part of argv_out and is not freed. */ /* Note: editor becomes part of argv_out and is not freed. */
editor = emalloc(edlen + 1); editor = sudo_emalloc(edlen + 1);
memcpy(editor, ed, edlen); memcpy(editor, ed, edlen);
editor[edlen] = '\0'; editor[edlen] = '\0';
@ -1033,7 +1033,7 @@ resolve_editor(const char *ed, size_t edlen, int nfiles, char **files, char ***a
efree(editor); efree(editor);
debug_return_str(NULL); debug_return_str(NULL);
} }
nargv = (char **) emallocarray(nargc + 1 + nfiles + 1, sizeof(char *)); nargv = (char **) sudo_emallocarray(nargc + 1 + nfiles + 1, sizeof(char *));
for (ac = 0; cp != NULL && ac < nargc; ac++) { for (ac = 0; cp != NULL && ac < nargc; ac++) {
nargv[ac] = cp; nargv[ac] = cp;
cp = strtok(NULL, " \t"); cp = strtok(NULL, " \t");

View File

@ -35,7 +35,7 @@
#include <pathnames.h> #include <pathnames.h>
#include "missing.h" #include "missing.h"
#include "fatal.h" #include "fatal.h"
#include "alloc.h" #include "sudo_alloc.h"
#include "queue.h" #include "queue.h"
#include "defaults.h" #include "defaults.h"
#include "logging.h" #include "logging.h"

View File

@ -87,7 +87,7 @@
#include "gettext.h" /* must be included before missing.h */ #include "gettext.h" /* must be included before missing.h */
#include "missing.h" #include "missing.h"
#include "alloc.h" #include "sudo_alloc.h"
#include "fatal.h" #include "fatal.h"
#include "logging.h" #include "logging.h"
#include "iolog.h" #include "iolog.h"
@ -503,8 +503,8 @@ replay_session(const double max_wait, const char *decimal)
/* Store the line in iov followed by \r\n pair. */ /* Store the line in iov followed by \r\n pair. */
if (iovcnt + 3 > iovmax) { if (iovcnt + 3 > iovmax) {
iov = iovmax ? iov = iovmax ?
ereallocarray(iov, iovmax <<= 1, sizeof(*iov)) : sudo_ereallocarray(iov, iovmax <<= 1, sizeof(*iov)) :
emallocarray(iovmax = 32, sizeof(*iov)); sudo_emallocarray(iovmax = 32, sizeof(*iov));
} }
linelen = (size_t)(ep - cp) + 1; linelen = (size_t)(ep - cp) + 1;
iov[iovcnt].iov_base = cp; iov[iovcnt].iov_base = cp;
@ -704,7 +704,7 @@ parse_expr(struct search_node_list *head, char *argv[], bool sub_expr)
} }
/* Allocate new search node */ /* Allocate new search node */
sn = ecalloc(1, sizeof(*sn)); sn = sudo_ecalloc(1, sizeof(*sn));
sn->type = type; sn->type = type;
sn->or = or; sn->or = or;
sn->negated = not; sn->negated = not;
@ -822,7 +822,7 @@ parse_logfile(char *logfile)
* 2) cwd * 2) cwd
* 3) command with args * 3) command with args
*/ */
li = ecalloc(1, sizeof(*li)); li = sudo_ecalloc(1, sizeof(*li));
if (getline(&buf, &bufsize, fp) == -1 || if (getline(&buf, &bufsize, fp) == -1 ||
getline(&li->cwd, &cwdsize, fp) == -1 || getline(&li->cwd, &cwdsize, fp) == -1 ||
getline(&li->cmd, &cmdsize, fp) == -1) { getline(&li->cmd, &cmdsize, fp) == -1) {
@ -861,7 +861,7 @@ parse_logfile(char *logfile)
sudo_warn(U_("%s: user field is missing"), logfile); sudo_warn(U_("%s: user field is missing"), logfile);
goto bad; goto bad;
} }
li->user = estrndup(cp, (size_t)(ep - cp)); li->user = sudo_estrndup(cp, (size_t)(ep - cp));
/* runas user */ /* runas user */
cp = ep + 1; cp = ep + 1;
@ -869,7 +869,7 @@ parse_logfile(char *logfile)
sudo_warn(U_("%s: runas user field is missing"), logfile); sudo_warn(U_("%s: runas user field is missing"), logfile);
goto bad; goto bad;
} }
li->runas_user = estrndup(cp, (size_t)(ep - cp)); li->runas_user = sudo_estrndup(cp, (size_t)(ep - cp));
/* runas group */ /* runas group */
cp = ep + 1; cp = ep + 1;
@ -878,16 +878,16 @@ parse_logfile(char *logfile)
goto bad; goto bad;
} }
if (cp != ep) if (cp != ep)
li->runas_group = estrndup(cp, (size_t)(ep - cp)); li->runas_group = sudo_estrndup(cp, (size_t)(ep - cp));
/* tty, followed by optional rows + columns */ /* tty, followed by optional rows + columns */
cp = ep + 1; cp = ep + 1;
if ((ep = strchr(cp, ':')) == NULL) { if ((ep = strchr(cp, ':')) == NULL) {
/* just the tty */ /* just the tty */
li->tty = estrdup(cp); li->tty = sudo_estrdup(cp);
} else { } else {
/* tty followed by rows + columns */ /* tty followed by rows + columns */
li->tty = estrndup(cp, (size_t)(ep - cp)); li->tty = sudo_estrndup(cp, (size_t)(ep - cp));
cp = ep + 1; cp = ep + 1;
/* need to NULL out separator to use strtonum() */ /* need to NULL out separator to use strtonum() */
if ((ep = strchr(cp, ':')) != NULL) { if ((ep = strchr(cp, ':')) != NULL) {
@ -1021,7 +1021,7 @@ find_sessions(const char *dir, REGEX_T *re, const char *user, const char *tty)
pathbuf[sdlen] = '\0'; pathbuf[sdlen] = '\0';
/* Store potential session dirs for sorting. */ /* Store potential session dirs for sorting. */
sessions = emallocarray(sessions_size, sizeof(char *)); sessions = sudo_emallocarray(sessions_size, sizeof(char *));
while ((dp = readdir(d)) != NULL) { while ((dp = readdir(d)) != NULL) {
/* Skip "." and ".." */ /* Skip "." and ".." */
if (dp->d_name[0] == '.' && (dp->d_name[1] == '\0' || if (dp->d_name[0] == '.' && (dp->d_name[1] == '\0' ||
@ -1041,9 +1041,9 @@ find_sessions(const char *dir, REGEX_T *re, const char *user, const char *tty)
/* Add name to session list. */ /* Add name to session list. */
if (sessions_len + 1 > sessions_size) { if (sessions_len + 1 > sessions_size) {
sessions_size <<= 1; sessions_size <<= 1;
sessions = ereallocarray(sessions, sessions_size, sizeof(char *)); sessions = sudo_ereallocarray(sessions, sessions_size, sizeof(char *));
} }
sessions[sessions_len++] = estrdup(dp->d_name); sessions[sessions_len++] = sudo_estrdup(dp->d_name);
} }
closedir(d); closedir(d);

View File

@ -219,7 +219,7 @@ main(int argc, char *argv[])
} }
if ((p = strchr(user_host, '.'))) { if ((p = strchr(user_host, '.'))) {
*p = '\0'; *p = '\0';
user_shost = estrdup(user_host); user_shost = sudo_estrdup(user_host);
*p = '.'; *p = '.';
} else { } else {
user_shost = user_host; user_shost = user_host;
@ -235,7 +235,7 @@ main(int argc, char *argv[])
for (size = 0, from = argv; *from; from++) for (size = 0, from = argv; *from; from++)
size += strlen(*from) + 1; size += strlen(*from) + 1;
user_args = (char *) emalloc(size); user_args = (char *) sudo_emalloc(size);
for (to = user_args, from = argv; *from; from++) { for (to = user_args, from = argv; *from; from++) {
n = strlcpy(to, *from, size - (to - user_args)); n = strlcpy(to, *from, size - (to - user_args));
if (n >= size - (to - user_args)) if (n >= size - (to - user_args))

View File

@ -330,7 +330,7 @@ edit_sudoers(struct sudoersfile *sp, char *editor, char *args, int lineno)
/* Create the temp file if needed and set timestamp. */ /* Create the temp file if needed and set timestamp. */
if (sp->tpath == NULL) { if (sp->tpath == NULL) {
easprintf(&sp->tpath, "%s.tmp", sp->path); sudo_easprintf(&sp->tpath, "%s.tmp", sp->path);
tfd = open(sp->tpath, O_WRONLY | O_CREAT | O_TRUNC, 0600); tfd = open(sp->tpath, O_WRONLY | O_CREAT | O_TRUNC, 0600);
if (tfd < 0) if (tfd < 0)
sudo_fatal("%s", sp->tpath); sudo_fatal("%s", sp->tpath);
@ -400,7 +400,7 @@ edit_sudoers(struct sudoersfile *sp, char *editor, char *args, int lineno)
} }
/* Build up argument vector for the command */ /* Build up argument vector for the command */
av = emallocarray(ac, sizeof(char *)); av = sudo_emallocarray(ac, sizeof(char *));
if ((av[0] = strrchr(editor, '/')) != NULL) if ((av[0] = strrchr(editor, '/')) != NULL)
av[0]++; av[0]++;
else else
@ -897,8 +897,8 @@ open_sudoers(const char *path, bool doedit, bool *keepopen)
break; break;
} }
if (entry == NULL) { if (entry == NULL) {
entry = ecalloc(1, sizeof(*entry)); entry = sudo_ecalloc(1, sizeof(*entry));
entry->path = estrdup(path); entry->path = sudo_estrdup(path);
/* entry->modified = 0; */ /* entry->modified = 0; */
entry->fd = open(entry->path, open_flags, SUDOERS_MODE); entry->fd = open(entry->path, open_flags, SUDOERS_MODE);
/* entry->tpath = NULL; */ /* entry->tpath = NULL; */
@ -978,7 +978,7 @@ get_editor(char **args)
/* Should never happen since we already checked above. */ /* Should never happen since we already checked above. */
sudo_fatal(U_("unable to stat editor (%s)"), UserEditor); sudo_fatal(U_("unable to stat editor (%s)"), UserEditor);
} }
EditorPath = estrdup(def_editor); EditorPath = sudo_estrdup(def_editor);
Editor = strtok(EditorPath, ":"); Editor = strtok(EditorPath, ":");
do { do {
EditorArgs = get_args(Editor); EditorArgs = get_args(Editor);
@ -1014,7 +1014,7 @@ get_editor(char **args)
*/ */
if (Editor == NULL || *Editor == '\0') { if (Editor == NULL || *Editor == '\0') {
efree(EditorPath); efree(EditorPath);
EditorPath = estrdup(def_editor); EditorPath = sudo_estrdup(def_editor);
Editor = strtok(EditorPath, ":"); Editor = strtok(EditorPath, ":");
do { do {
EditorArgs = get_args(Editor); EditorArgs = get_args(Editor);
@ -1061,11 +1061,11 @@ get_hostname(void)
if (gethostname(thost, sizeof(thost)) != -1) { if (gethostname(thost, sizeof(thost)) != -1) {
thost[sizeof(thost) - 1] = '\0'; thost[sizeof(thost) - 1] = '\0';
user_host = estrdup(thost); user_host = sudo_estrdup(thost);
if ((p = strchr(user_host, '.'))) { if ((p = strchr(user_host, '.'))) {
*p = '\0'; *p = '\0';
user_shost = estrdup(user_host); user_shost = sudo_estrdup(user_host);
*p = '.'; *p = '.';
} else { } else {
user_shost = user_host; user_shost = user_host;

View File

@ -210,88 +210,87 @@ realclean: distclean
cleandir: realclean cleandir: realclean
# Autogenerated dependencies, do not modify # Autogenerated dependencies, do not modify
check_ttyname.o: $(srcdir)/regress/ttyname/check_ttyname.c $(incdir)/alloc.h \ check_ttyname.o: $(srcdir)/regress/ttyname/check_ttyname.c \
$(incdir)/compat/stdbool.h $(incdir)/fatal.h \ $(incdir)/compat/stdbool.h $(incdir)/fatal.h \
$(incdir)/missing.h $(incdir)/sudo_util.h \ $(incdir)/missing.h $(incdir)/sudo_alloc.h \
$(top_builddir)/config.h $(incdir)/sudo_util.h $(top_builddir)/config.h
$(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/regress/ttyname/check_ttyname.c $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/regress/ttyname/check_ttyname.c
conversation.o: $(srcdir)/conversation.c $(incdir)/alloc.h \ conversation.o: $(srcdir)/conversation.c $(incdir)/compat/stdbool.h \
$(incdir)/compat/stdbool.h $(incdir)/fatal.h \ $(incdir)/fatal.h $(incdir)/gettext.h $(incdir)/missing.h \
$(incdir)/gettext.h $(incdir)/missing.h $(incdir)/queue.h \ $(incdir)/queue.h $(incdir)/sudo_alloc.h $(incdir)/sudo_conf.h \
$(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_plugin.h \
$(incdir)/sudo_plugin.h $(incdir)/sudo_util.h $(srcdir)/sudo.h \ $(incdir)/sudo_util.h $(srcdir)/sudo.h \
$(srcdir)/sudo_plugin_int.h $(top_builddir)/config.h \ $(srcdir)/sudo_plugin_int.h $(top_builddir)/config.h \
$(top_builddir)/pathnames.h $(top_builddir)/pathnames.h
$(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/conversation.c $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/conversation.c
env_hooks.o: $(srcdir)/env_hooks.c $(incdir)/alloc.h \ env_hooks.o: $(srcdir)/env_hooks.c $(incdir)/compat/stdbool.h \
$(incdir)/compat/stdbool.h $(incdir)/fatal.h $(incdir)/gettext.h \ $(incdir)/fatal.h $(incdir)/gettext.h $(incdir)/missing.h \
$(incdir)/missing.h $(incdir)/queue.h $(incdir)/sudo_conf.h \ $(incdir)/queue.h $(incdir)/sudo_alloc.h $(incdir)/sudo_conf.h \
$(incdir)/sudo_debug.h $(incdir)/sudo_dso.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_dso.h \
$(incdir)/sudo_plugin.h $(incdir)/sudo_util.h $(srcdir)/sudo.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_util.h $(srcdir)/sudo.h \
$(top_builddir)/config.h $(top_builddir)/pathnames.h $(top_builddir)/config.h $(top_builddir)/pathnames.h
$(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/env_hooks.c $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/env_hooks.c
exec.o: $(srcdir)/exec.c $(incdir)/alloc.h $(incdir)/compat/stdbool.h \ exec.o: $(srcdir)/exec.c $(incdir)/compat/stdbool.h $(incdir)/fatal.h \
$(incdir)/fatal.h $(incdir)/gettext.h $(incdir)/missing.h \ $(incdir)/gettext.h $(incdir)/missing.h $(incdir)/queue.h \
$(incdir)/queue.h $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_alloc.h $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \
$(incdir)/sudo_event.h $(incdir)/sudo_plugin.h $(incdir)/sudo_util.h \ $(incdir)/sudo_event.h $(incdir)/sudo_plugin.h $(incdir)/sudo_util.h \
$(srcdir)/sudo.h $(srcdir)/sudo_exec.h $(srcdir)/sudo_plugin_int.h \ $(srcdir)/sudo.h $(srcdir)/sudo_exec.h $(srcdir)/sudo_plugin_int.h \
$(top_builddir)/config.h $(top_builddir)/pathnames.h $(top_builddir)/config.h $(top_builddir)/pathnames.h
$(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/exec.c $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/exec.c
exec_common.o: $(srcdir)/exec_common.c $(incdir)/alloc.h \ exec_common.o: $(srcdir)/exec_common.c $(incdir)/compat/stdbool.h \
$(incdir)/compat/stdbool.h $(incdir)/fatal.h \ $(incdir)/fatal.h $(incdir)/gettext.h $(incdir)/missing.h \
$(incdir)/gettext.h $(incdir)/missing.h $(incdir)/queue.h \ $(incdir)/queue.h $(incdir)/sudo_alloc.h $(incdir)/sudo_conf.h \
$(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_util.h $(srcdir)/sudo.h \
$(incdir)/sudo_util.h $(srcdir)/sudo.h $(srcdir)/sudo_exec.h \ $(srcdir)/sudo_exec.h $(top_builddir)/config.h \
$(top_builddir)/config.h $(top_builddir)/pathnames.h $(top_builddir)/pathnames.h
$(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/exec_common.c $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/exec_common.c
exec_pty.o: $(srcdir)/exec_pty.c $(incdir)/alloc.h $(incdir)/compat/stdbool.h \ exec_pty.o: $(srcdir)/exec_pty.c $(incdir)/compat/stdbool.h $(incdir)/fatal.h \
$(incdir)/fatal.h $(incdir)/gettext.h $(incdir)/missing.h \ $(incdir)/gettext.h $(incdir)/missing.h $(incdir)/queue.h \
$(incdir)/queue.h $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_alloc.h $(incdir)/sudo_conf.h \
$(incdir)/sudo_event.h $(incdir)/sudo_plugin.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_event.h \
$(incdir)/sudo_util.h $(srcdir)/sudo.h $(srcdir)/sudo_exec.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_util.h $(srcdir)/sudo.h \
$(srcdir)/sudo_plugin_int.h $(top_builddir)/config.h \ $(srcdir)/sudo_exec.h $(srcdir)/sudo_plugin_int.h \
$(top_builddir)/pathnames.h $(top_builddir)/config.h $(top_builddir)/pathnames.h
$(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/exec_pty.c $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/exec_pty.c
get_pty.o: $(srcdir)/get_pty.c $(incdir)/alloc.h $(incdir)/compat/stdbool.h \ get_pty.o: $(srcdir)/get_pty.c $(incdir)/compat/stdbool.h $(incdir)/fatal.h \
$(incdir)/fatal.h $(incdir)/gettext.h $(incdir)/missing.h \ $(incdir)/gettext.h $(incdir)/missing.h $(incdir)/queue.h \
$(incdir)/queue.h $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_alloc.h $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \
$(incdir)/sudo_util.h $(srcdir)/sudo.h $(top_builddir)/config.h \ $(incdir)/sudo_util.h $(srcdir)/sudo.h $(top_builddir)/config.h \
$(top_builddir)/pathnames.h $(top_builddir)/pathnames.h
$(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/get_pty.c $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/get_pty.c
hooks.o: $(srcdir)/hooks.c $(incdir)/alloc.h $(incdir)/compat/stdbool.h \ hooks.o: $(srcdir)/hooks.c $(incdir)/compat/stdbool.h $(incdir)/fatal.h \
$(incdir)/fatal.h $(incdir)/gettext.h $(incdir)/missing.h \ $(incdir)/gettext.h $(incdir)/missing.h $(incdir)/queue.h \
$(incdir)/queue.h $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_alloc.h $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \
$(incdir)/sudo_plugin.h $(incdir)/sudo_util.h $(srcdir)/sudo.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_util.h $(srcdir)/sudo.h \
$(srcdir)/sudo_plugin_int.h $(top_builddir)/config.h \ $(srcdir)/sudo_plugin_int.h $(top_builddir)/config.h \
$(top_builddir)/pathnames.h $(top_builddir)/pathnames.h
$(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/hooks.c $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/hooks.c
load_plugins.o: $(srcdir)/load_plugins.c $(incdir)/alloc.h \ load_plugins.o: $(srcdir)/load_plugins.c $(incdir)/compat/stdbool.h \
$(incdir)/compat/stdbool.h $(incdir)/fatal.h \ $(incdir)/fatal.h $(incdir)/gettext.h $(incdir)/missing.h \
$(incdir)/gettext.h $(incdir)/missing.h $(incdir)/queue.h \ $(incdir)/queue.h $(incdir)/sudo_alloc.h $(incdir)/sudo_conf.h \
$(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_dso.h \
$(incdir)/sudo_dso.h $(incdir)/sudo_plugin.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_util.h $(srcdir)/sudo.h \
$(incdir)/sudo_util.h $(srcdir)/sudo.h \
$(srcdir)/sudo_plugin_int.h $(top_builddir)/config.h \ $(srcdir)/sudo_plugin_int.h $(top_builddir)/config.h \
$(top_builddir)/pathnames.h $(top_builddir)/pathnames.h
$(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/load_plugins.c $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/load_plugins.c
locale_stub.o: $(srcdir)/locale_stub.c $(incdir)/fatal.h $(incdir)/gettext.h \ locale_stub.o: $(srcdir)/locale_stub.c $(incdir)/fatal.h $(incdir)/gettext.h \
$(incdir)/missing.h $(top_builddir)/config.h $(incdir)/missing.h $(top_builddir)/config.h
$(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/locale_stub.c $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/locale_stub.c
net_ifs.o: $(srcdir)/net_ifs.c $(incdir)/alloc.h $(incdir)/compat/stdbool.h \ net_ifs.o: $(srcdir)/net_ifs.c $(incdir)/compat/stdbool.h $(incdir)/fatal.h \
$(incdir)/fatal.h $(incdir)/gettext.h $(incdir)/missing.h \ $(incdir)/gettext.h $(incdir)/missing.h $(incdir)/queue.h \
$(incdir)/queue.h $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_alloc.h $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \
$(top_builddir)/config.h $(top_builddir)/config.h
$(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/net_ifs.c $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/net_ifs.c
openbsd.o: $(srcdir)/openbsd.c $(incdir)/alloc.h $(incdir)/compat/stdbool.h \ openbsd.o: $(srcdir)/openbsd.c $(incdir)/compat/stdbool.h $(incdir)/fatal.h \
$(incdir)/fatal.h $(incdir)/gettext.h $(incdir)/missing.h \ $(incdir)/gettext.h $(incdir)/missing.h $(incdir)/queue.h \
$(incdir)/queue.h $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_alloc.h $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \
$(incdir)/sudo_util.h $(srcdir)/sudo.h $(top_builddir)/config.h \ $(incdir)/sudo_util.h $(srcdir)/sudo.h $(top_builddir)/config.h \
$(top_builddir)/pathnames.h $(top_builddir)/pathnames.h
$(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/openbsd.c $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/openbsd.c
parse_args.o: $(srcdir)/parse_args.c $(incdir)/alloc.h \ parse_args.o: $(srcdir)/parse_args.c $(incdir)/compat/getopt.h \
$(incdir)/compat/getopt.h $(incdir)/compat/stdbool.h \ $(incdir)/compat/stdbool.h $(incdir)/fatal.h $(incdir)/gettext.h \
$(incdir)/fatal.h $(incdir)/gettext.h $(incdir)/missing.h \ $(incdir)/missing.h $(incdir)/queue.h $(incdir)/sudo_alloc.h \
$(incdir)/queue.h $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \
$(incdir)/sudo_lbuf.h $(incdir)/sudo_util.h $(srcdir)/sudo.h \ $(incdir)/sudo_lbuf.h $(incdir)/sudo_util.h $(srcdir)/sudo.h \
$(top_builddir)/config.h $(top_builddir)/pathnames.h \ $(top_builddir)/config.h $(top_builddir)/pathnames.h \
./sudo_usage.h ./sudo_usage.h
@ -299,67 +298,67 @@ parse_args.o: $(srcdir)/parse_args.c $(incdir)/alloc.h \
preload.o: $(srcdir)/preload.c $(incdir)/missing.h $(incdir)/sudo_dso.h \ preload.o: $(srcdir)/preload.c $(incdir)/missing.h $(incdir)/sudo_dso.h \
$(incdir)/sudo_plugin.h $(top_builddir)/config.h $(incdir)/sudo_plugin.h $(top_builddir)/config.h
$(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/preload.c $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/preload.c
preserve_fds.o: $(srcdir)/preserve_fds.c $(incdir)/alloc.h \ preserve_fds.o: $(srcdir)/preserve_fds.c $(incdir)/compat/stdbool.h \
$(incdir)/compat/stdbool.h $(incdir)/fatal.h \ $(incdir)/fatal.h $(incdir)/gettext.h $(incdir)/missing.h \
$(incdir)/gettext.h $(incdir)/missing.h $(incdir)/queue.h \ $(incdir)/queue.h $(incdir)/sudo_alloc.h $(incdir)/sudo_conf.h \
$(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_util.h $(srcdir)/sudo.h \
$(incdir)/sudo_util.h $(srcdir)/sudo.h \
$(top_builddir)/config.h $(top_builddir)/pathnames.h $(top_builddir)/config.h $(top_builddir)/pathnames.h
$(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/preserve_fds.c $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/preserve_fds.c
selinux.o: $(srcdir)/selinux.c $(incdir)/alloc.h $(incdir)/compat/stdbool.h \ selinux.o: $(srcdir)/selinux.c $(incdir)/compat/stdbool.h $(incdir)/fatal.h \
$(incdir)/fatal.h $(incdir)/gettext.h $(incdir)/missing.h \ $(incdir)/gettext.h $(incdir)/missing.h $(incdir)/queue.h \
$(incdir)/queue.h $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_alloc.h $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \
$(incdir)/sudo_util.h $(srcdir)/sudo.h $(srcdir)/sudo_exec.h \ $(incdir)/sudo_util.h $(srcdir)/sudo.h $(srcdir)/sudo_exec.h \
$(top_builddir)/config.h $(top_builddir)/pathnames.h $(top_builddir)/config.h $(top_builddir)/pathnames.h
$(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/selinux.c $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/selinux.c
sesh.o: $(srcdir)/sesh.c $(incdir)/alloc.h $(incdir)/compat/stdbool.h \ sesh.o: $(srcdir)/sesh.c $(incdir)/compat/stdbool.h $(incdir)/fatal.h \
$(incdir)/fatal.h $(incdir)/gettext.h $(incdir)/missing.h \ $(incdir)/gettext.h $(incdir)/missing.h $(incdir)/queue.h \
$(incdir)/queue.h $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_alloc.h $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \
$(incdir)/sudo_plugin.h $(srcdir)/sudo_exec.h $(top_builddir)/config.h $(incdir)/sudo_plugin.h $(srcdir)/sudo_exec.h $(top_builddir)/config.h
$(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/sesh.c $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/sesh.c
signal.o: $(srcdir)/signal.c $(incdir)/alloc.h $(incdir)/compat/stdbool.h \ signal.o: $(srcdir)/signal.c $(incdir)/compat/stdbool.h $(incdir)/fatal.h \
$(incdir)/fatal.h $(incdir)/gettext.h $(incdir)/missing.h \ $(incdir)/gettext.h $(incdir)/missing.h $(incdir)/queue.h \
$(incdir)/queue.h $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_alloc.h $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \
$(incdir)/sudo_util.h $(srcdir)/sudo.h $(top_builddir)/config.h \ $(incdir)/sudo_util.h $(srcdir)/sudo.h $(top_builddir)/config.h \
$(top_builddir)/pathnames.h $(top_builddir)/pathnames.h
$(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/signal.c $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/signal.c
solaris.o: $(srcdir)/solaris.c $(incdir)/alloc.h $(incdir)/compat/stdbool.h \ solaris.o: $(srcdir)/solaris.c $(incdir)/compat/stdbool.h $(incdir)/fatal.h \
$(incdir)/fatal.h $(incdir)/gettext.h $(incdir)/missing.h \ $(incdir)/gettext.h $(incdir)/missing.h $(incdir)/queue.h \
$(incdir)/queue.h $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_alloc.h $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \
$(incdir)/sudo_dso.h $(incdir)/sudo_util.h $(srcdir)/sudo.h \ $(incdir)/sudo_dso.h $(incdir)/sudo_util.h $(srcdir)/sudo.h \
$(top_builddir)/config.h $(top_builddir)/pathnames.h $(top_builddir)/config.h $(top_builddir)/pathnames.h
$(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/solaris.c $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/solaris.c
sudo.o: $(srcdir)/sudo.c $(incdir)/alloc.h $(incdir)/compat/stdbool.h \ sudo.o: $(srcdir)/sudo.c $(incdir)/compat/stdbool.h $(incdir)/fatal.h \
$(incdir)/fatal.h $(incdir)/gettext.h $(incdir)/missing.h \ $(incdir)/gettext.h $(incdir)/missing.h $(incdir)/queue.h \
$(incdir)/queue.h $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_alloc.h $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \
$(incdir)/sudo_plugin.h $(incdir)/sudo_util.h $(srcdir)/sudo.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_util.h $(srcdir)/sudo.h \
$(srcdir)/sudo_plugin_int.h $(top_builddir)/config.h \ $(srcdir)/sudo_plugin_int.h $(top_builddir)/config.h \
$(top_builddir)/pathnames.h ./sudo_usage.h $(top_builddir)/pathnames.h ./sudo_usage.h
$(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/sudo.c $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/sudo.c
sudo_edit.o: $(srcdir)/sudo_edit.c $(incdir)/alloc.h \ sudo_edit.o: $(srcdir)/sudo_edit.c $(incdir)/compat/stdbool.h \
$(incdir)/compat/stdbool.h $(incdir)/fatal.h $(incdir)/gettext.h \ $(incdir)/fatal.h $(incdir)/gettext.h $(incdir)/missing.h \
$(incdir)/missing.h $(incdir)/queue.h $(incdir)/sudo_conf.h \ $(incdir)/queue.h $(incdir)/sudo_alloc.h $(incdir)/sudo_conf.h \
$(incdir)/sudo_debug.h $(incdir)/sudo_util.h $(srcdir)/sudo.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_util.h $(srcdir)/sudo.h \
$(top_builddir)/config.h $(top_builddir)/pathnames.h $(top_builddir)/config.h $(top_builddir)/pathnames.h
$(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/sudo_edit.c $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/sudo_edit.c
sudo_noexec.lo: $(srcdir)/sudo_noexec.c $(incdir)/missing.h \ sudo_noexec.lo: $(srcdir)/sudo_noexec.c $(incdir)/missing.h \
$(top_builddir)/config.h $(top_builddir)/config.h
$(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/sudo_noexec.c $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/sudo_noexec.c
tgetpass.o: $(srcdir)/tgetpass.c $(incdir)/alloc.h $(incdir)/compat/stdbool.h \ tgetpass.o: $(srcdir)/tgetpass.c $(incdir)/compat/stdbool.h $(incdir)/fatal.h \
$(incdir)/fatal.h $(incdir)/gettext.h $(incdir)/missing.h \ $(incdir)/gettext.h $(incdir)/missing.h $(incdir)/queue.h \
$(incdir)/queue.h $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_alloc.h $(incdir)/sudo_conf.h \
$(incdir)/sudo_plugin.h $(incdir)/sudo_util.h $(srcdir)/sudo.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_plugin.h \
$(top_builddir)/config.h $(top_builddir)/pathnames.h $(incdir)/sudo_util.h $(srcdir)/sudo.h $(top_builddir)/config.h \
$(top_builddir)/pathnames.h
$(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/tgetpass.c $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/tgetpass.c
ttyname.o: $(srcdir)/ttyname.c $(incdir)/alloc.h $(incdir)/compat/stdbool.h \ ttyname.o: $(srcdir)/ttyname.c $(incdir)/compat/stdbool.h $(incdir)/fatal.h \
$(incdir)/fatal.h $(incdir)/gettext.h $(incdir)/missing.h \ $(incdir)/gettext.h $(incdir)/missing.h $(incdir)/queue.h \
$(incdir)/queue.h $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_alloc.h $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \
$(incdir)/sudo_util.h $(srcdir)/sudo.h $(top_builddir)/config.h \ $(incdir)/sudo_util.h $(srcdir)/sudo.h $(top_builddir)/config.h \
$(top_builddir)/pathnames.h $(top_builddir)/pathnames.h
$(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/ttyname.c $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/ttyname.c
utmp.o: $(srcdir)/utmp.c $(incdir)/alloc.h $(incdir)/compat/stdbool.h \ utmp.o: $(srcdir)/utmp.c $(incdir)/compat/stdbool.h $(incdir)/fatal.h \
$(incdir)/fatal.h $(incdir)/gettext.h $(incdir)/missing.h \ $(incdir)/gettext.h $(incdir)/missing.h $(incdir)/queue.h \
$(incdir)/queue.h $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_alloc.h $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \
$(incdir)/sudo_util.h $(srcdir)/sudo.h $(srcdir)/sudo_exec.h \ $(incdir)/sudo_util.h $(srcdir)/sudo.h $(srcdir)/sudo_exec.h \
$(top_builddir)/config.h $(top_builddir)/pathnames.h $(top_builddir)/config.h $(top_builddir)/pathnames.h
$(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/utmp.c $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/utmp.c

View File

@ -80,7 +80,7 @@ sudo_conversation(int num_msgs, const struct sudo_conv_message msgs[],
pass = tgetpass(msg->msg, msg->timeout, flags); pass = tgetpass(msg->msg, msg->timeout, flags);
if (pass == NULL) if (pass == NULL)
goto err; goto err;
repl->reply = estrdup(pass); repl->reply = sudo_estrdup(pass);
memset_s(pass, SUDO_CONV_REPL_MAX, 0, strlen(pass)); memset_s(pass, SUDO_CONV_REPL_MAX, 0, strlen(pass));
break; break;
case SUDO_CONV_INFO_MSG: case SUDO_CONV_INFO_MSG:

View File

@ -125,7 +125,7 @@ rpl_putenv(PUTENV_CONST char *string)
/* Append at the end if not already found. */ /* Append at the end if not already found. */
if (!found) { if (!found) {
size_t env_len = (size_t)(ep - environ); size_t env_len = (size_t)(ep - environ);
char **envp = ereallocarray(priv_environ, env_len + 2, sizeof(char *)); char **envp = sudo_ereallocarray(priv_environ, env_len + 2, sizeof(char *));
if (environ != priv_environ) if (environ != priv_environ)
memcpy(envp, environ, env_len * sizeof(char *)); memcpy(envp, environ, env_len * sizeof(char *));
envp[env_len++] = (char *)string; envp[env_len++] = (char *)string;

View File

@ -844,7 +844,7 @@ schedule_signal(struct sudo_event_base *evbase, int signo)
snprintf(signame, sizeof(signame), "%d", signo); snprintf(signame, sizeof(signame), "%d", signo);
sudo_debug_printf(SUDO_DEBUG_DIAG, "scheduled SIG%s for child", signame); sudo_debug_printf(SUDO_DEBUG_DIAG, "scheduled SIG%s for child", signame);
sigfwd = ecalloc(1, sizeof(*sigfwd)); sigfwd = sudo_ecalloc(1, sizeof(*sigfwd));
sigfwd->signo = signo; sigfwd->signo = signo;
TAILQ_INSERT_TAIL(&sigfwd_list, sigfwd, entries); TAILQ_INSERT_TAIL(&sigfwd_list, sigfwd, entries);

View File

@ -100,14 +100,14 @@ disable_execute(char *const envp[])
if (!enabled) if (!enabled)
env_size++; env_size++;
#endif #endif
nenvp = emallocarray(env_size, sizeof(*envp)); nenvp = sudo_emallocarray(env_size, sizeof(*envp));
memcpy(nenvp, envp, env_len * sizeof(*envp)); memcpy(nenvp, envp, env_len * sizeof(*envp));
nenvp[env_len] = NULL; nenvp[env_len] = NULL;
/* Prepend our LD_PRELOAD to existing value or add new entry at the end. */ /* Prepend our LD_PRELOAD to existing value or add new entry at the end. */
if (preload_idx == -1) { if (preload_idx == -1) {
# ifdef RTLD_PRELOAD_DEFAULT # ifdef RTLD_PRELOAD_DEFAULT
easprintf(&preload, "%s=%s%s%s", RTLD_PRELOAD_VAR, sudo_conf_noexec_path(), RTLD_PRELOAD_DELIM, RTLD_PRELOAD_DEFAULT); sudo_easprintf(&preload, "%s=%s%s%s", RTLD_PRELOAD_VAR, sudo_conf_noexec_path(), RTLD_PRELOAD_DELIM, RTLD_PRELOAD_DEFAULT);
# else # else
preload = sudo_new_key_val(RTLD_PRELOAD_VAR, sudo_conf_noexec_path()); preload = sudo_new_key_val(RTLD_PRELOAD_VAR, sudo_conf_noexec_path());
# endif # endif
@ -116,7 +116,7 @@ disable_execute(char *const envp[])
nenvp[env_len++] = preload; nenvp[env_len++] = preload;
nenvp[env_len] = NULL; nenvp[env_len] = NULL;
} else { } else {
easprintf(&preload, "%s=%s%s%s", RTLD_PRELOAD_VAR, sudo_conf_noexec_path(), RTLD_PRELOAD_DELIM, nenvp[preload_idx]); sudo_easprintf(&preload, "%s=%s%s%s", RTLD_PRELOAD_VAR, sudo_conf_noexec_path(), RTLD_PRELOAD_DELIM, nenvp[preload_idx]);
nenvp[preload_idx] = preload; nenvp[preload_idx] = preload;
} }
# ifdef RTLD_PRELOAD_ENABLE_VAR # ifdef RTLD_PRELOAD_ENABLE_VAR
@ -151,7 +151,7 @@ sudo_execve(const char *path, char *const argv[], char *const envp[], bool noexe
for (argc = 0; argv[argc] != NULL; argc++) for (argc = 0; argv[argc] != NULL; argc++)
continue; continue;
nargv = emallocarray(argc + 2, sizeof(char *)); nargv = sudo_emallocarray(argc + 2, sizeof(char *));
nargv[0] = "sh"; nargv[0] = "sh";
nargv[1] = (char *)path; nargv[1] = (char *)path;
memcpy(nargv + 2, argv + 1, argc * sizeof(char *)); memcpy(nargv + 2, argv + 1, argc * sizeof(char *));

View File

@ -605,7 +605,7 @@ io_buf_new(int rfd, int wfd, bool (*action)(const char *, unsigned int),
(void) fcntl(wfd, F_SETFL, n | O_NONBLOCK); (void) fcntl(wfd, F_SETFL, n | O_NONBLOCK);
/* Allocate and add to head of list. */ /* Allocate and add to head of list. */
iob = emalloc(sizeof(*iob)); iob = sudo_emalloc(sizeof(*iob));
iob->revent = sudo_ev_alloc(rfd, SUDO_EV_READ, io_callback, iob); iob->revent = sudo_ev_alloc(rfd, SUDO_EV_READ, io_callback, iob);
iob->wevent = sudo_ev_alloc(wfd, SUDO_EV_WRITE, io_callback, iob); iob->wevent = sudo_ev_alloc(wfd, SUDO_EV_WRITE, io_callback, iob);
iob->len = 0; iob->len = 0;

View File

@ -177,7 +177,7 @@ register_hook_internal(struct sudo_hook_list *head,
struct sudo_hook_entry *hook; struct sudo_hook_entry *hook;
debug_decl(register_hook_internal, SUDO_DEBUG_HOOKS) debug_decl(register_hook_internal, SUDO_DEBUG_HOOKS)
hook = ecalloc(1, sizeof(*hook)); hook = sudo_ecalloc(1, sizeof(*hook));
hook->u.generic_fn = hook_fn; hook->u.generic_fn = hook_fn;
hook->closure = closure; hook->closure = closure;
SLIST_INSERT_HEAD(head, hook, entries); SLIST_INSERT_HEAD(head, hook, entries);

View File

@ -112,7 +112,7 @@ sudo_stat_plugin(struct plugin_info *info, char *fullpath,
if (len >= 3 && info->path[len - 3] == '.' && if (len >= 3 && info->path[len - 3] == '.' &&
info->path[len - 2] == 's' && info->path[len - 1] == 'o') { info->path[len - 2] == 's' && info->path[len - 1] == 'o') {
const char *sopath = info->path; const char *sopath = info->path;
char *slpath = estrdup(info->path); char *slpath = sudo_estrdup(info->path);
int serrno = errno; int serrno = errno;
slpath[len - 1] = 'l'; slpath[len - 1] = 'l';
@ -253,7 +253,7 @@ sudo_load_plugin(struct plugin_container *policy_plugin,
} }
} }
if (handle != NULL) { if (handle != NULL) {
container = ecalloc(1, sizeof(*container)); container = sudo_ecalloc(1, sizeof(*container));
container->handle = handle; container->handle = handle;
container->name = info->symbol_name; container->name = info->symbol_name;
container->options = info->options; container->options = info->options;
@ -294,7 +294,7 @@ sudo_load_plugins(struct plugin_container *policy_plugin,
*/ */
if (policy_plugin->handle == NULL) { if (policy_plugin->handle == NULL) {
/* Default policy plugin */ /* Default policy plugin */
info = ecalloc(1, sizeof(*info)); info = sudo_ecalloc(1, sizeof(*info));
info->symbol_name = "sudoers_policy"; info->symbol_name = "sudoers_policy";
info->path = SUDOERS_PLUGIN; info->path = SUDOERS_PLUGIN;
/* info->options = NULL; */ /* info->options = NULL; */
@ -305,7 +305,7 @@ sudo_load_plugins(struct plugin_container *policy_plugin,
/* Default I/O plugin */ /* Default I/O plugin */
if (TAILQ_EMPTY(io_plugins)) { if (TAILQ_EMPTY(io_plugins)) {
info = ecalloc(1, sizeof(*info)); info = sudo_ecalloc(1, sizeof(*info));
info->symbol_name = "sudoers_io"; info->symbol_name = "sudoers_io";
info->path = SUDOERS_PLUGIN; info->path = SUDOERS_PLUGIN;
/* info->options = NULL; */ /* info->options = NULL; */

View File

@ -88,7 +88,7 @@ struct rtentry;
#include "gettext.h" /* must be included before missing.h */ #include "gettext.h" /* must be included before missing.h */
#include "missing.h" #include "missing.h"
#include "alloc.h" #include "sudo_alloc.h"
#include "fatal.h" #include "fatal.h"
#include "sudo_conf.h" #include "sudo_conf.h"
#include "sudo_debug.h" #include "sudo_debug.h"
@ -143,7 +143,7 @@ get_net_ifs(char **addrinfo)
if (num_interfaces == 0) if (num_interfaces == 0)
debug_return_int(0); debug_return_int(0);
ailen = num_interfaces * 2 * INET6_ADDRSTRLEN; ailen = num_interfaces * 2 * INET6_ADDRSTRLEN;
*addrinfo = cp = emalloc(ailen); *addrinfo = cp = sudo_emalloc(ailen);
/* Store the IP addr/netmask pairs. */ /* Store the IP addr/netmask pairs. */
for (ifa = ifaddrs; ifa != NULL; ifa = ifa -> ifa_next) { for (ifa = ifaddrs; ifa != NULL; ifa = ifa -> ifa_next) {
@ -239,7 +239,7 @@ get_net_ifs(char **addrinfo)
* Get interface configuration or return. * Get interface configuration or return.
*/ */
for (;;) { for (;;) {
ifconf_buf = emalloc(buflen); ifconf_buf = sudo_emalloc(buflen);
ifconf = (struct ifconf *) ifconf_buf; ifconf = (struct ifconf *) ifconf_buf;
ifconf->ifc_len = buflen - sizeof(struct ifconf); ifconf->ifc_len = buflen - sizeof(struct ifconf);
ifconf->ifc_buf = (caddr_t) (ifconf_buf + sizeof(struct ifconf)); ifconf->ifc_buf = (caddr_t) (ifconf_buf + sizeof(struct ifconf));
@ -264,7 +264,7 @@ get_net_ifs(char **addrinfo)
if ((n = ifconf->ifc_len / sizeof(struct ifreq)) == 0) if ((n = ifconf->ifc_len / sizeof(struct ifreq)) == 0)
debug_return_int(0); debug_return_int(0);
ailen = n * 2 * INET6_ADDRSTRLEN; ailen = n * 2 * INET6_ADDRSTRLEN;
*addrinfo = cp = emalloc(ailen); *addrinfo = cp = sudo_emalloc(ailen);
/* For each interface, store the ip address and netmask. */ /* For each interface, store the ip address and netmask. */
for (i = 0; i < ifconf->ifc_len; ) { for (i = 0; i < ifconf->ifc_len; ) {

View File

@ -184,7 +184,7 @@ parse_args(int argc, char **argv, int *nargc, char ***nargv, char ***settingsp,
int env_size = 32; int env_size = 32;
debug_decl(parse_args, SUDO_DEBUG_ARGS) debug_decl(parse_args, SUDO_DEBUG_ARGS)
env_add = emallocarray(env_size, sizeof(char *)); env_add = sudo_emallocarray(env_size, sizeof(char *));
/* Pass progname to plugin so it can call initprogname() */ /* Pass progname to plugin so it can call initprogname() */
sudo_settings[ARG_PROGNAME].value = getprogname(); sudo_settings[ARG_PROGNAME].value = getprogname();
@ -207,7 +207,7 @@ parse_args(int argc, char **argv, int *nargc, char ***nargv, char ***settingsp,
/* Set max_groups from sudo.conf. */ /* Set max_groups from sudo.conf. */
i = sudo_conf_max_groups(); i = sudo_conf_max_groups();
if (i != -1) { if (i != -1) {
easprintf(&cp, "%d", i); sudo_easprintf(&cp, "%d", i);
sudo_settings[ARG_MAX_GROUPS].value = cp; sudo_settings[ARG_MAX_GROUPS].value = cp;
} }
@ -372,7 +372,7 @@ parse_args(int argc, char **argv, int *nargc, char ***nargv, char ***settingsp,
} else if (!got_end_of_args && is_envar) { } else if (!got_end_of_args && is_envar) {
if (nenv == env_size - 2) { if (nenv == env_size - 2) {
env_size *= 2; env_size *= 2;
env_add = ereallocarray(env_add, env_size, sizeof(char *)); env_add = sudo_ereallocarray(env_add, env_size, sizeof(char *));
} }
env_add[nenv++] = argv[optind]; env_add[nenv++] = argv[optind];
@ -461,7 +461,7 @@ parse_args(int argc, char **argv, int *nargc, char ***nargv, char ***settingsp,
size_t cmnd_size = (size_t) (argv[argc - 1] - argv[0]) + size_t cmnd_size = (size_t) (argv[argc - 1] - argv[0]) +
strlen(argv[argc - 1]) + 1; strlen(argv[argc - 1]) + 1;
cmnd = dst = emallocarray(cmnd_size, 2); cmnd = dst = sudo_emallocarray(cmnd_size, 2);
for (av = argv; *av != NULL; av++) { for (av = argv; *av != NULL; av++) {
for (src = *av; *src != '\0'; src++) { for (src = *av; *src != '\0'; src++) {
/* quote potential meta characters */ /* quote potential meta characters */
@ -478,7 +478,7 @@ parse_args(int argc, char **argv, int *nargc, char ***nargv, char ***settingsp,
ac += 2; /* -c cmnd */ ac += 2; /* -c cmnd */
} }
av = emallocarray(ac + 1, sizeof(char *)); av = sudo_emallocarray(ac + 1, sizeof(char *));
av[0] = (char *)user_details.shell; /* plugin may override shell */ av[0] = (char *)user_details.shell; /* plugin may override shell */
if (cmnd != NULL) { if (cmnd != NULL) {
av[1] = "-c"; av[1] = "-c";
@ -496,7 +496,7 @@ parse_args(int argc, char **argv, int *nargc, char ***nargv, char ***settingsp,
#ifdef _PATH_SUDO_PLUGIN_DIR #ifdef _PATH_SUDO_PLUGIN_DIR
sudo_settings[ARG_PLUGIN_DIR].value = sudo_conf_plugin_dir_path(); sudo_settings[ARG_PLUGIN_DIR].value = sudo_conf_plugin_dir_path();
#endif #endif
settings = emallocarray(NUM_SETTINGS + 1, sizeof(char *)); settings = sudo_emallocarray(NUM_SETTINGS + 1, sizeof(char *));
for (i = 0, j = 0; i < NUM_SETTINGS; i++) { for (i = 0, j = 0; i < NUM_SETTINGS; i++) {
if (sudo_settings[i].value) { if (sudo_settings[i].value) {
sudo_debug_printf(SUDO_DEBUG_INFO, "settings: %s=%s", sudo_debug_printf(SUDO_DEBUG_INFO, "settings: %s=%s",

View File

@ -59,7 +59,7 @@ add_preserved_fd(struct preserved_fd_list *pfds, int fd)
struct preserved_fd *pfd, *pfd_new; struct preserved_fd *pfd, *pfd_new;
debug_decl(add_preserved_fd, SUDO_DEBUG_UTIL) debug_decl(add_preserved_fd, SUDO_DEBUG_UTIL)
pfd_new = emalloc(sizeof(*pfd)); pfd_new = sudo_emalloc(sizeof(*pfd));
pfd_new->lowfd = fd; pfd_new->lowfd = fd;
pfd_new->highfd = fd; pfd_new->highfd = fd;
pfd_new->flags = fcntl(fd, F_GETFD); pfd_new->flags = fcntl(fd, F_GETFD);
@ -143,7 +143,7 @@ closefrom_except(int startfd, struct preserved_fd_list *pfds)
} }
/* Create bitmap of preserved (relocated) fds. */ /* Create bitmap of preserved (relocated) fds. */
fdsp = ecalloc(howmany(lastfd + 1, NFDBITS), sizeof(fd_mask)); fdsp = sudo_ecalloc(howmany(lastfd + 1, NFDBITS), sizeof(fd_mask));
TAILQ_FOREACH(pfd, pfds, entries) { TAILQ_FOREACH(pfd, pfds, entries) {
FD_SET(pfd->lowfd, fdsp); FD_SET(pfd->lowfd, fdsp);
} }

View File

@ -39,7 +39,7 @@
#include <errno.h> #include <errno.h>
#include "missing.h" #include "missing.h"
#include "alloc.h" #include "sudo_alloc.h"
#include "fatal.h" #include "fatal.h"
#include "sudo_util.h" #include "sudo_util.h"
@ -57,7 +57,7 @@ main(int argc, char *argv[])
/* Lookup tty name via sudo (using kernel info if possible). */ /* Lookup tty name via sudo (using kernel info if possible). */
if ((tty_sudo = get_process_ttyname()) == NULL) if ((tty_sudo = get_process_ttyname()) == NULL)
tty_sudo = estrdup("none"); tty_sudo = sudo_estrdup("none");
/* Lookup tty name via libc and compare to kernel tty. */ /* Lookup tty name via libc and compare to kernel tty. */
for (fd = STDERR_FILENO; fd >= STDIN_FILENO; fd--) { for (fd = STDERR_FILENO; fd >= STDIN_FILENO; fd--) {
@ -65,7 +65,7 @@ main(int argc, char *argv[])
if (cp != NULL) { if (cp != NULL) {
if (tty_libc == NULL || strcmp(cp, tty_libc) != 0) { if (tty_libc == NULL || strcmp(cp, tty_libc) != 0) {
efree(tty_libc); efree(tty_libc);
tty_libc = estrdup(cp); tty_libc = sudo_estrdup(cp);
} }
if (tty_sudo != NULL && strcmp(tty_libc, tty_sudo) == 0) { if (tty_sudo != NULL && strcmp(tty_libc, tty_sudo) == 0) {
rval = 0; rval = 0;

View File

@ -77,7 +77,7 @@ audit_role_change(const security_context_t old_context,
sudo_fatal(U_("unable to open audit system")); sudo_fatal(U_("unable to open audit system"));
} else { } else {
/* audit role change using the same format as newrole(1) */ /* audit role change using the same format as newrole(1) */
easprintf(&message, "newrole: old-context=%s new-context=%s", sudo_easprintf(&message, "newrole: old-context=%s new-context=%s",
old_context, new_context); old_context, new_context);
rc = audit_log_user_message(au_fd, AUDIT_USER_ROLE_CHANGE, rc = audit_log_user_message(au_fd, AUDIT_USER_ROLE_CHANGE,
message, NULL, NULL, ttyn, 1); message, NULL, NULL, ttyn, 1);
@ -284,7 +284,7 @@ get_exec_context(security_context_t old_context, const char *role, const char *t
/* /*
* Convert "context" back into a string and verify it. * Convert "context" back into a string and verify it.
*/ */
new_context = estrdup(context_str(context)); new_context = sudo_estrdup(context_str(context));
if (security_check_context(new_context) < 0) { if (security_check_context(new_context) < 0) {
sudo_warnx(U_("%s is not a valid context"), new_context); sudo_warnx(U_("%s is not a valid context"), new_context);
errno = EINVAL; errno = EINVAL;
@ -398,7 +398,7 @@ selinux_execve(const char *path, char *const argv[], char *const envp[],
*/ */
for (argc = 0; argv[argc] != NULL; argc++) for (argc = 0; argv[argc] != NULL; argc++)
continue; continue;
nargv = emallocarray(argc + 2, sizeof(char *)); nargv = sudo_emallocarray(argc + 2, sizeof(char *));
if (noexec) if (noexec)
nargv[0] = *argv[0] == '-' ? "-sesh-noexec" : "sesh-noexec"; nargv[0] = *argv[0] == '-' ? "-sesh-noexec" : "sesh-noexec";
else else

View File

@ -34,7 +34,7 @@
#include "gettext.h" /* must be included before missing.h */ #include "gettext.h" /* must be included before missing.h */
#include "missing.h" #include "missing.h"
#include "alloc.h" #include "sudo_alloc.h"
#include "fatal.h" #include "fatal.h"
#include "sudo_conf.h" #include "sudo_conf.h"
#include "sudo_debug.h" #include "sudo_debug.h"
@ -70,7 +70,7 @@ main(int argc, char *argv[], char *envp[])
/* Shift argv and make a copy of the command to execute. */ /* Shift argv and make a copy of the command to execute. */
argv++; argv++;
argc--; argc--;
cmnd = estrdup(argv[0]); cmnd = sudo_estrdup(argv[0]);
/* If invoked as a login shell, modify argv[0] accordingly. */ /* If invoked as a login shell, modify argv[0] accordingly. */
if (login_shell) { if (login_shell) {

View File

@ -354,7 +354,7 @@ fill_group_list(struct user_details *ud, int system_maxgroups)
*/ */
ud->ngroups = sudo_conf_max_groups(); ud->ngroups = sudo_conf_max_groups();
if (ud->ngroups > 0) { if (ud->ngroups > 0) {
ud->groups = emallocarray(ud->ngroups, sizeof(GETGROUPS_T)); ud->groups = sudo_emallocarray(ud->ngroups, sizeof(GETGROUPS_T));
/* No error on insufficient space if user specified max_groups. */ /* No error on insufficient space if user specified max_groups. */
(void)getgrouplist(ud->username, ud->gid, ud->groups, &ud->ngroups); (void)getgrouplist(ud->username, ud->gid, ud->groups, &ud->ngroups);
rval = 0; rval = 0;
@ -369,7 +369,7 @@ fill_group_list(struct user_details *ud, int system_maxgroups)
for (tries = 0; tries < 10 && rval == -1; tries++) { for (tries = 0; tries < 10 && rval == -1; tries++) {
ud->ngroups <<= 1; ud->ngroups <<= 1;
efree(ud->groups); efree(ud->groups);
ud->groups = emallocarray(ud->ngroups, sizeof(GETGROUPS_T)); ud->groups = sudo_emallocarray(ud->ngroups, sizeof(GETGROUPS_T));
rval = getgrouplist(ud->username, ud->gid, ud->groups, &ud->ngroups); rval = getgrouplist(ud->username, ud->gid, ud->groups, &ud->ngroups);
} }
} }
@ -396,7 +396,7 @@ get_user_groups(struct user_details *ud)
if ((ud->ngroups = getgroups(0, NULL)) > 0) { if ((ud->ngroups = getgroups(0, NULL)) > 0) {
/* Use groups from kernel if not too many or source is static. */ /* Use groups from kernel if not too many or source is static. */
if (ud->ngroups < maxgroups || group_source == GROUP_SOURCE_STATIC) { if (ud->ngroups < maxgroups || group_source == GROUP_SOURCE_STATIC) {
ud->groups = emallocarray(ud->ngroups, sizeof(GETGROUPS_T)); ud->groups = sudo_emallocarray(ud->ngroups, sizeof(GETGROUPS_T));
if (getgroups(ud->ngroups, ud->groups) < 0) { if (getgroups(ud->ngroups, ud->groups) < 0) {
efree(ud->groups); efree(ud->groups);
ud->groups = NULL; ud->groups = NULL;
@ -417,7 +417,7 @@ get_user_groups(struct user_details *ud)
* Format group list as a comma-separated string of gids. * Format group list as a comma-separated string of gids.
*/ */
glsize = sizeof("groups=") - 1 + (ud->ngroups * (MAX_UID_T_LEN + 1)); glsize = sizeof("groups=") - 1 + (ud->ngroups * (MAX_UID_T_LEN + 1));
gid_list = emalloc(glsize); gid_list = sudo_emalloc(glsize);
memcpy(gid_list, "groups=", sizeof("groups=") - 1); memcpy(gid_list, "groups=", sizeof("groups=") - 1);
cp = gid_list + sizeof("groups=") - 1; cp = gid_list + sizeof("groups=") - 1;
for (i = 0; i < ud->ngroups; i++) { for (i = 0; i < ud->ngroups; i++) {
@ -442,7 +442,7 @@ get_user_info(struct user_details *ud)
debug_decl(get_user_info, SUDO_DEBUG_UTIL) debug_decl(get_user_info, SUDO_DEBUG_UTIL)
/* XXX - bound check number of entries */ /* XXX - bound check number of entries */
user_info = emallocarray(32, sizeof(char *)); user_info = sudo_emallocarray(32, sizeof(char *));
ud->pid = getpid(); ud->pid = getpid();
ud->ppid = getppid(); ud->ppid = getppid();
@ -473,18 +473,18 @@ get_user_info(struct user_details *ud)
if ((ud->shell = getenv("SHELL")) == NULL || ud->shell[0] == '\0') { if ((ud->shell = getenv("SHELL")) == NULL || ud->shell[0] == '\0') {
ud->shell = pw->pw_shell[0] ? pw->pw_shell : _PATH_BSHELL; ud->shell = pw->pw_shell[0] ? pw->pw_shell : _PATH_BSHELL;
} }
ud->shell = estrdup(ud->shell); ud->shell = sudo_estrdup(ud->shell);
easprintf(&user_info[++i], "pid=%d", (int)ud->pid); sudo_easprintf(&user_info[++i], "pid=%d", (int)ud->pid);
easprintf(&user_info[++i], "ppid=%d", (int)ud->ppid); sudo_easprintf(&user_info[++i], "ppid=%d", (int)ud->ppid);
easprintf(&user_info[++i], "pgid=%d", (int)ud->pgid); sudo_easprintf(&user_info[++i], "pgid=%d", (int)ud->pgid);
easprintf(&user_info[++i], "tcpgid=%d", (int)ud->tcpgid); sudo_easprintf(&user_info[++i], "tcpgid=%d", (int)ud->tcpgid);
easprintf(&user_info[++i], "sid=%d", (int)ud->sid); sudo_easprintf(&user_info[++i], "sid=%d", (int)ud->sid);
easprintf(&user_info[++i], "uid=%u", (unsigned int)ud->uid); sudo_easprintf(&user_info[++i], "uid=%u", (unsigned int)ud->uid);
easprintf(&user_info[++i], "euid=%u", (unsigned int)ud->euid); sudo_easprintf(&user_info[++i], "euid=%u", (unsigned int)ud->euid);
easprintf(&user_info[++i], "gid=%u", (unsigned int)ud->gid); sudo_easprintf(&user_info[++i], "gid=%u", (unsigned int)ud->gid);
easprintf(&user_info[++i], "egid=%u", (unsigned int)ud->egid); sudo_easprintf(&user_info[++i], "egid=%u", (unsigned int)ud->egid);
if ((cp = get_user_groups(ud)) != NULL) if ((cp = get_user_groups(ud)) != NULL)
user_info[++i] = cp; user_info[++i] = cp;
@ -514,8 +514,8 @@ get_user_info(struct user_details *ud)
ud->host = user_info[i] + sizeof("host=") - 1; ud->host = user_info[i] + sizeof("host=") - 1;
sudo_get_ttysize(&ud->ts_lines, &ud->ts_cols); sudo_get_ttysize(&ud->ts_lines, &ud->ts_cols);
easprintf(&user_info[++i], "lines=%d", ud->ts_lines); sudo_easprintf(&user_info[++i], "lines=%d", ud->ts_lines);
easprintf(&user_info[++i], "cols=%d", ud->ts_cols); sudo_easprintf(&user_info[++i], "cols=%d", ud->ts_cols);
user_info[++i] = NULL; user_info[++i] = NULL;
@ -745,7 +745,7 @@ sudo_check_suid(const char *sudo)
int len; int len;
char *cp, *colon; char *cp, *colon;
cp = path = estrdup(path); cp = path = sudo_estrdup(path);
do { do {
if ((colon = strchr(cp, ':'))) if ((colon = strchr(cp, ':')))
*colon = '\0'; *colon = '\0';

View File

@ -33,7 +33,7 @@
#include "gettext.h" /* must be included before missing.h */ #include "gettext.h" /* must be included before missing.h */
#include "missing.h" #include "missing.h"
#include "alloc.h" #include "sudo_alloc.h"
#include "fatal.h" #include "fatal.h"
#include "sudo_conf.h" #include "sudo_conf.h"
#include "sudo_debug.h" #include "sudo_debug.h"

View File

@ -147,7 +147,7 @@ sudo_edit(struct command_details *command_details)
* For each file specified by the user, make a temporary version * For each file specified by the user, make a temporary version
* and copy the contents of the original to it. * and copy the contents of the original to it.
*/ */
tf = emallocarray(nfiles, sizeof(*tf)); tf = sudo_emallocarray(nfiles, sizeof(*tf));
memset(tf, 0, nfiles * sizeof(*tf)); memset(tf, 0, nfiles * sizeof(*tf));
for (i = 0, j = 0; i < nfiles; i++) { for (i = 0, j = 0; i < nfiles; i++) {
rc = -1; rc = -1;
@ -181,10 +181,10 @@ sudo_edit(struct command_details *command_details)
cp = tf[j].ofile; cp = tf[j].ofile;
suff = strrchr(cp, '.'); suff = strrchr(cp, '.');
if (suff != NULL) { if (suff != NULL) {
easprintf(&tf[j].tfile, "%.*s/%.*sXXXXXXXX%s", tmplen, tmpdir, sudo_easprintf(&tf[j].tfile, "%.*s/%.*sXXXXXXXX%s", tmplen, tmpdir,
(int)(size_t)(suff - cp), cp, suff); (int)(size_t)(suff - cp), cp, suff);
} else { } else {
easprintf(&tf[j].tfile, "%.*s/%s.XXXXXXXX", tmplen, tmpdir, cp); sudo_easprintf(&tf[j].tfile, "%.*s/%s.XXXXXXXX", tmplen, tmpdir, cp);
} }
if (seteuid(user_details.uid) != 0) if (seteuid(user_details.uid) != 0)
sudo_fatal("seteuid(%d)", (int)user_details.uid); sudo_fatal("seteuid(%d)", (int)user_details.uid);
@ -232,7 +232,7 @@ sudo_edit(struct command_details *command_details)
* to create a new argv. * to create a new argv.
*/ */
nargc = editor_argc + nfiles; nargc = editor_argc + nfiles;
nargv = (char **) emallocarray(nargc + 1, sizeof(char *)); nargv = (char **) sudo_emallocarray(nargc + 1, sizeof(char *));
for (ac = 0; ac < editor_argc; ac++) for (ac = 0; ac < editor_argc; ac++)
nargv[ac] = command_details->argv[ac]; nargv[ac] = command_details->argv[ac];
for (i = 0; i < nfiles && ac < nargc; ) for (i = 0; i < nfiles && ac < nargc; )

View File

@ -132,12 +132,12 @@ sudo_ttyname_dev(dev_t tdev)
if (*dev != '/') { if (*dev != '/') {
/* devname() doesn't use the /dev/ prefix, add one... */ /* devname() doesn't use the /dev/ prefix, add one... */
size_t len = sizeof(_PATH_DEV) + strlen(dev); size_t len = sizeof(_PATH_DEV) + strlen(dev);
tty = emalloc(len); tty = sudo_emalloc(len);
strlcpy(tty, _PATH_DEV, len); strlcpy(tty, _PATH_DEV, len);
strlcat(tty, dev, len); strlcat(tty, dev, len);
} else { } else {
/* Should not happen but just in case... */ /* Should not happen but just in case... */
tty = estrdup(dev); tty = sudo_estrdup(dev);
} }
} }
debug_return_str(tty); debug_return_str(tty);
@ -158,7 +158,7 @@ sudo_ttyname_dev(dev_t tdev)
tty = _ttyname_dev(tdev, buf, sizeof(buf)); tty = _ttyname_dev(tdev, buf, sizeof(buf));
debug_return_str(estrdup(tty)); debug_return_str(sudo_estrdup(tty));
} }
#elif defined(HAVE_STRUCT_PSINFO_PR_TTYDEV) || defined(HAVE_PSTAT_GETPROC) || defined(__linux__) #elif defined(HAVE_STRUCT_PSINFO_PR_TTYDEV) || defined(HAVE_PSTAT_GETPROC) || defined(__linux__)
/* /*
@ -263,14 +263,14 @@ sudo_ttyname_scan(const char *dir, dev_t rdev, bool builtin)
/* Add to list of subdirs to search. */ /* Add to list of subdirs to search. */
if (num_subdirs + 1 > max_subdirs) { if (num_subdirs + 1 > max_subdirs) {
max_subdirs += 64; max_subdirs += 64;
subdirs = ereallocarray(subdirs, max_subdirs, sizeof(char *)); subdirs = sudo_ereallocarray(subdirs, max_subdirs, sizeof(char *));
} }
subdirs[num_subdirs++] = estrdup(pathbuf); subdirs[num_subdirs++] = sudo_estrdup(pathbuf);
} }
continue; continue;
} }
if (S_ISCHR(sb.st_mode) && sb.st_rdev == rdev) { if (S_ISCHR(sb.st_mode) && sb.st_rdev == rdev) {
devname = estrdup(pathbuf); devname = sudo_estrdup(pathbuf);
sudo_debug_printf(SUDO_DEBUG_INFO, "resolved dev %u as %s", sudo_debug_printf(SUDO_DEBUG_INFO, "resolved dev %u as %s",
(unsigned int)rdev, pathbuf); (unsigned int)rdev, pathbuf);
goto done; goto done;
@ -315,7 +315,7 @@ sudo_ttyname_dev(dev_t rdev)
(unsigned int)minor(rdev)); (unsigned int)minor(rdev));
if (stat(buf, &sb) == 0) { if (stat(buf, &sb) == 0) {
if (S_ISCHR(sb.st_mode) && sb.st_rdev == rdev) if (S_ISCHR(sb.st_mode) && sb.st_rdev == rdev)
tty = estrdup(buf); tty = sudo_estrdup(buf);
} }
sudo_debug_printf(SUDO_DEBUG_INFO, "comparing dev %u to %s: %s", sudo_debug_printf(SUDO_DEBUG_INFO, "comparing dev %u to %s: %s",
(unsigned int)rdev, buf, tty ? "yes" : "no"); (unsigned int)rdev, buf, tty ? "yes" : "no");
@ -326,7 +326,7 @@ sudo_ttyname_dev(dev_t rdev)
} else { } else {
if (stat(devname, &sb) == 0) { if (stat(devname, &sb) == 0) {
if (S_ISCHR(sb.st_mode) && sb.st_rdev == rdev) if (S_ISCHR(sb.st_mode) && sb.st_rdev == rdev)
tty = estrdup(devname); tty = sudo_estrdup(devname);
} }
} }
} }
@ -367,7 +367,7 @@ get_process_ttyname(void)
mib[5] = 1; mib[5] = 1;
do { do {
size += size / 10; size += size / 10;
ki_proc = erealloc(ki_proc, size); ki_proc = sudo_erealloc(ki_proc, size);
rc = sysctl(mib, sudo_kp_namelen, ki_proc, &size, NULL, 0); rc = sysctl(mib, sudo_kp_namelen, ki_proc, &size, NULL, 0);
} while (rc == -1 && errno == ENOMEM); } while (rc == -1 && errno == ENOMEM);
if (rc != -1) { if (rc != -1) {
@ -508,6 +508,6 @@ get_process_ttyname(void)
tty = ttyname(STDERR_FILENO); tty = ttyname(STDERR_FILENO);
} }
debug_return_str(estrdup(tty)); debug_return_str(sudo_estrdup(tty));
} }
#endif #endif