summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2013-10-10 11:18:07 -0400
committerNick Mathewson <nickm@torproject.org>2013-10-10 11:18:07 -0400
commit7b1b8c36942a09ff4c50ac228f465aa4050153e3 (patch)
treeec4f224727635f4d46f5d4d641cdd2952e10e86f
parent1137817319c7a9e4293e9901405d01e7b85da6ea (diff)
parent004a9c6dd11ba71f310b750f00d5ed403faceb5a (diff)
downloadtor-7b1b8c36942a09ff4c50ac228f465aa4050153e3.tar.gz
tor-7b1b8c36942a09ff4c50ac228f465aa4050153e3.zip
Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4
-rw-r--r--src/common/util.c4
-rw-r--r--src/test/test_util.c1
2 files changed, 3 insertions, 2 deletions
diff --git a/src/common/util.c b/src/common/util.c
index 36468d2d84..ae385e1b94 100644
--- a/src/common/util.c
+++ b/src/common/util.c
@@ -3412,7 +3412,7 @@ format_helper_exit_status(unsigned char child_state, int saved_errno,
* Count how many chars of space we have left, and keep a pointer into the
* current point in the buffer.
*/
- left = HEX_ERRNO_SIZE;
+ left = HEX_ERRNO_SIZE+1;
cur = hex_errno;
/* Emit child_state */
@@ -3712,7 +3712,7 @@ tor_spawn_background(const char *const filename, const char **argv,
this is used for printing out the error message */
unsigned char child_state = CHILD_STATE_INIT;
- char hex_errno[HEX_ERRNO_SIZE + 1];
+ char hex_errno[HEX_ERRNO_SIZE + 2]; /* + 1 should be sufficient actually */
static int max_fd = -1;
diff --git a/src/test/test_util.c b/src/test/test_util.c
index 6e1ee713d8..65d9d2f878 100644
--- a/src/test/test_util.c
+++ b/src/test/test_util.c
@@ -2252,6 +2252,7 @@ test_util_exit_status(void *ptr)
n = format_helper_exit_status(0xFF, -0x80000000, hex_errno);
test_streq("FF/-80000000\n", hex_errno);
test_eq(n, strlen(hex_errno));
+ test_eq(n, HEX_ERRNO_SIZE);
clear_hex_errno(hex_errno);
n = format_helper_exit_status(0x7F, 0, hex_errno);