]> granicus.if.org Git - sudo/commitdiff
Add debug_return_ssize_t
authorTodd C. Miller <Todd.Miller@courtesan.com>
Sun, 1 Nov 2015 22:13:28 +0000 (15:13 -0700)
committerTodd C. Miller <Todd.Miller@courtesan.com>
Sun, 1 Nov 2015 22:13:28 +0000 (15:13 -0700)
include/sudo_debug.h
lib/util/parseln.c
lib/util/sudo_debug.c
plugins/sudoers/timestamp.c

index 938c13744cafe8cff89b71410c7ac654ad3a9d48..ba151d1bc431889481f2b7de51e3df7c3e9750b9 100644 (file)
@@ -137,6 +137,14 @@ struct sudo_conf_debug_file_list;
        return sudo_debug_rval;                                                \
     } while (0)
 
+#define debug_return_ssize_t(rval)                                            \
+    do {                                                                      \
+       ssize_t sudo_debug_rval = (rval);                                      \
+       sudo_debug_exit_ssize_t(__func__, __FILE__, __LINE__, sudo_debug_subsys,\
+           sudo_debug_rval);                                                  \
+       return sudo_debug_rval;                                                \
+    } while (0)
+
 #define debug_return_long(rval)                                                       \
     do {                                                                      \
        long sudo_debug_rval = (rval);                                         \
@@ -224,6 +232,7 @@ __dso_public void sudo_debug_exit_int_v1(const char *func, const char *file, int
 __dso_public void sudo_debug_exit_long_v1(const char *func, const char *file, int line, int subsys, long rval);
 __dso_public void sudo_debug_exit_ptr_v1(const char *func, const char *file, int line, int subsys, const void *rval);
 __dso_public void sudo_debug_exit_size_t_v1(const char *func, const char *file, int line, int subsys, size_t rval);
+__dso_public void sudo_debug_exit_ssize_t_v1(const char *func, const char *file, int line, int subsys, ssize_t rval);
 __dso_public void sudo_debug_exit_str_v1(const char *func, const char *file, int line, int subsys, const char *rval);
 __dso_public void sudo_debug_exit_str_masked_v1(const char *func, const char *file, int line, int subsys, const char *rval);
 __dso_public pid_t sudo_debug_fork_v1(void);
@@ -247,6 +256,7 @@ __dso_public void sudo_debug_write2_v1(int fd, const char *func, const char *fil
 #define sudo_debug_exit_long(_a, _b, _c, _d, _e) sudo_debug_exit_long_v1((_a), (_b), (_c), (_d), (_e))
 #define sudo_debug_exit_ptr(_a, _b, _c, _d, _e) sudo_debug_exit_ptr_v1((_a), (_b), (_c), (_d), (_e))
 #define sudo_debug_exit_size_t(_a, _b, _c, _d, _e) sudo_debug_exit_size_t_v1((_a), (_b), (_c), (_d), (_e))
+#define sudo_debug_exit_ssize_t(_a, _b, _c, _d, _e) sudo_debug_exit_ssize_t_v1((_a), (_b), (_c), (_d), (_e))
 #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_fork() sudo_debug_fork_v1()
index 55f26815bf64985f8e2e5010c8a72da2dea18b24..a1aae0d89c62252af521389ded7261d862c7278d 100644 (file)
@@ -114,6 +114,6 @@ sudo_parseln_v1(char **bufp, size_t *bufsizep, unsigned int *lineno, FILE *fp)
     } while (continued);
     free(line);
     if (len == -1 && total == 0)
-       debug_return_size_t((size_t)-1);
-    debug_return_size_t(total);
+       debug_return_ssize_t(-1);
+    debug_return_ssize_t(total);
 }
index 28907085fcba39510c7ce87e019349c6205e0568..5a990c41908dff0511ad7abcc0638f7d4b659685 100644 (file)
@@ -456,6 +456,14 @@ sudo_debug_exit_size_t_v1(const char *func, const char *file, int line,
        "<- %s @ %s:%d := %zu", func, file, line, rval);
 }
 
+void
+sudo_debug_exit_ssize_t_v1(const char *func, const char *file, int line,
+    int subsys, ssize_t rval)
+{
+    sudo_debug_printf2(NULL, NULL, 0, subsys | SUDO_DEBUG_TRACE,
+       "<- %s @ %s:%d := %zd", func, file, line, rval);
+}
+
 void
 sudo_debug_exit_bool_v1(const char *func, const char *file, int line,
     int subsys, bool rval)
index 15ea13bcb596938080b3b0b4f15169952f4e641e..431c97e90c701a698386d9e8fde2c98f48e44828 100644 (file)
@@ -310,9 +310,9 @@ ts_write(int fd, const char *fname, struct timestamp_entry *entry, off_t offset)
                    (long long)old_eof);
            }
        }
-       debug_return_size_t(-1);
+       debug_return_ssize_t(-1);
     }
-    debug_return_size_t(nwritten);
+    debug_return_ssize_t(nwritten);
 }
 
 /*
@@ -553,7 +553,7 @@ done:
     if (should_unlock)
        timestamp_unlock_record(cookie->fd, cookie->pos, sizeof(*entry));
 
-    debug_return_size_t(nread);
+    debug_return_ssize_t(nread);
 }
 
 /*