Change sudo_strtomode() to return mode_t.

This commit is contained in:
Todd C. Miller
2023-07-05 09:54:22 -06:00
parent 2848dddd87
commit 2d1b3c369f
5 changed files with 41 additions and 8 deletions

View File

@@ -19,7 +19,7 @@
#ifndef SUDO_DEBUG_H
#define SUDO_DEBUG_H
#include <sys/types.h> /* for id_t, size_t, ssize_t, time_t */
#include <sys/types.h> /* for id_t, mode_t, size_t, ssize_t, time_t */
#include <stdarg.h>
#ifdef HAVE_STDBOOL_H
# include <stdbool.h>
@@ -168,6 +168,14 @@ struct sudo_conf_debug_file_list;
return sudo_debug_ret; \
} while (0)
#define debug_return_mode_t(ret) \
do { \
mode_t sudo_debug_ret = (ret); \
sudo_debug_exit_mode_t(__func__, __FILE__, __LINE__, sudo_debug_subsys,\
sudo_debug_ret); \
return sudo_debug_ret; \
} while (0)
#define debug_return_long(ret) \
do { \
long sudo_debug_ret = (ret); \
@@ -260,6 +268,7 @@ sudo_dso_public void sudo_debug_exit_ssize_t_v1(const char *func, const char *fi
sudo_dso_public void sudo_debug_exit_str_v1(const char *func, const char *file, int line, unsigned int subsys, const char *ret);
sudo_dso_public void sudo_debug_exit_str_masked_v1(const char *func, const char *file, int line, unsigned int subsys, const char *ret);
sudo_dso_public void sudo_debug_exit_time_t_v1(const char *func, const char *file, int line, unsigned int subsys, time_t ret);
sudo_dso_public void sudo_debug_exit_mode_t_v1(const char *func, const char *file, int line, unsigned int subsys, mode_t ret);
sudo_dso_public pid_t sudo_debug_fork_v1(void);
sudo_dso_public int sudo_debug_get_active_instance_v1(void);
sudo_dso_public int sudo_debug_get_fds_v1(unsigned char **fds);
@@ -290,6 +299,7 @@ sudo_dso_public bool sudo_debug_needed_v1(unsigned int level);
#define sudo_debug_exit_str(_a, _b, _c, _d, _e) sudo_debug_exit_str_v1((_a), (_b), (_c), (_d), (_e))
#define sudo_debug_exit_str_masked(_a, _b, _c, _d, _e) sudo_debug_exit_str_masked_v1((_a), (_b), (_c), (_d), (_e))
#define sudo_debug_exit_time_t(_a, _b, _c, _d, _e) sudo_debug_exit_time_t_v1((_a), (_b), (_c), (_d), (_e))
#define sudo_debug_exit_mode_t(_a, _b, _c, _d, _e) sudo_debug_exit_mode_t_v1((_a), (_b), (_c), (_d), (_e))
#define sudo_debug_fork() sudo_debug_fork_v1()
#define sudo_debug_get_active_instance() sudo_debug_get_active_instance_v1()
#define sudo_debug_get_fds(_a) sudo_debug_get_fds_v1((_a))