Loading src/common/util.c +5 −7 Original line number Diff line number Diff line Loading @@ -3402,9 +3402,8 @@ tor_join_win_cmdline(const char *argv[]) * function; it's designed to be used in code paths where you can't call * arbitrary C functions. */ STATIC int format_hex_number_for_helper_exit_status(unsigned int x, char *buf, int max_len) int format_hex_number_sigsafe(unsigned int x, char *buf, int max_len) { int len; unsigned int tmp; Loading Loading @@ -3490,8 +3489,8 @@ format_helper_exit_status(unsigned char child_state, int saved_errno, cur = hex_errno; /* Emit child_state */ written = format_hex_number_for_helper_exit_status(child_state, cur, left); written = format_hex_number_sigsafe(child_state, cur, left); if (written <= 0) goto err; Loading Loading @@ -3520,8 +3519,7 @@ format_helper_exit_status(unsigned char child_state, int saved_errno, } /* Emit unsigned_errno */ written = format_hex_number_for_helper_exit_status(unsigned_errno, cur, left); written = format_hex_number_sigsafe(unsigned_errno, cur, left); if (written <= 0) goto err; Loading src/common/util.h +5 −2 Original line number Diff line number Diff line Loading @@ -518,11 +518,12 @@ int32_t tor_weak_random_range(tor_weak_rng_t *rng, int32_t top); * <b>n</b> */ #define tor_weak_random_one_in_n(rng, n) (0==tor_weak_random_range((rng),(n))) int format_hex_number_sigsafe(unsigned int x, char *buf, int max_len); #ifdef UTIL_PRIVATE /* Prototypes for private functions only used by util.c (and unit tests) */ STATIC int format_hex_number_for_helper_exit_status(unsigned int x, char *buf, int max_len); #ifndef _WIN32 STATIC int format_helper_exit_status(unsigned char child_state, int saved_errno, char *hex_errno); Loading @@ -532,6 +533,8 @@ STATIC int format_helper_exit_status(unsigned char child_state, 1 + sizeof(int) * 2 + 1) #endif #endif const char *libor_get_digests(void); #endif Loading src/test/test_util.c +2 −3 Original line number Diff line number Diff line Loading @@ -2627,7 +2627,7 @@ test_util_spawn_background_partial_read(void *ptr) } /** * Test for format_hex_number_for_helper_exit_status() * Test for format_hex_number_sigsafe() */ static void Loading @@ -2653,8 +2653,7 @@ test_util_format_hex_number(void *ptr) (void)ptr; for (i = 0; test_data[i].str != NULL; ++i) { len = format_hex_number_for_helper_exit_status(test_data[i].x, buf, HEX_ERRNO_SIZE); len = format_hex_number_sigsafe(test_data[i].x, buf, HEX_ERRNO_SIZE); test_neq(len, 0); buf[len] = '\0'; test_streq(buf, test_data[i].str); Loading Loading
src/common/util.c +5 −7 Original line number Diff line number Diff line Loading @@ -3402,9 +3402,8 @@ tor_join_win_cmdline(const char *argv[]) * function; it's designed to be used in code paths where you can't call * arbitrary C functions. */ STATIC int format_hex_number_for_helper_exit_status(unsigned int x, char *buf, int max_len) int format_hex_number_sigsafe(unsigned int x, char *buf, int max_len) { int len; unsigned int tmp; Loading Loading @@ -3490,8 +3489,8 @@ format_helper_exit_status(unsigned char child_state, int saved_errno, cur = hex_errno; /* Emit child_state */ written = format_hex_number_for_helper_exit_status(child_state, cur, left); written = format_hex_number_sigsafe(child_state, cur, left); if (written <= 0) goto err; Loading Loading @@ -3520,8 +3519,7 @@ format_helper_exit_status(unsigned char child_state, int saved_errno, } /* Emit unsigned_errno */ written = format_hex_number_for_helper_exit_status(unsigned_errno, cur, left); written = format_hex_number_sigsafe(unsigned_errno, cur, left); if (written <= 0) goto err; Loading
src/common/util.h +5 −2 Original line number Diff line number Diff line Loading @@ -518,11 +518,12 @@ int32_t tor_weak_random_range(tor_weak_rng_t *rng, int32_t top); * <b>n</b> */ #define tor_weak_random_one_in_n(rng, n) (0==tor_weak_random_range((rng),(n))) int format_hex_number_sigsafe(unsigned int x, char *buf, int max_len); #ifdef UTIL_PRIVATE /* Prototypes for private functions only used by util.c (and unit tests) */ STATIC int format_hex_number_for_helper_exit_status(unsigned int x, char *buf, int max_len); #ifndef _WIN32 STATIC int format_helper_exit_status(unsigned char child_state, int saved_errno, char *hex_errno); Loading @@ -532,6 +533,8 @@ STATIC int format_helper_exit_status(unsigned char child_state, 1 + sizeof(int) * 2 + 1) #endif #endif const char *libor_get_digests(void); #endif Loading
src/test/test_util.c +2 −3 Original line number Diff line number Diff line Loading @@ -2627,7 +2627,7 @@ test_util_spawn_background_partial_read(void *ptr) } /** * Test for format_hex_number_for_helper_exit_status() * Test for format_hex_number_sigsafe() */ static void Loading @@ -2653,8 +2653,7 @@ test_util_format_hex_number(void *ptr) (void)ptr; for (i = 0; test_data[i].str != NULL; ++i) { len = format_hex_number_for_helper_exit_status(test_data[i].x, buf, HEX_ERRNO_SIZE); len = format_hex_number_sigsafe(test_data[i].x, buf, HEX_ERRNO_SIZE); test_neq(len, 0); buf[len] = '\0'; test_streq(buf, test_data[i].str); Loading