[tor-commits] [tor/master] Use an enum for inherit_result_out.

asn at torproject.org asn at torproject.org
Fri Apr 5 11:52:42 UTC 2019


commit 76912bf140ec61856c0bb0d25354283d024229f5
Author: Nick Mathewson <nickm at torproject.org>
Date:   Wed Apr 3 10:57:06 2019 -0400

    Use an enum for inherit_result_out.
---
 src/lib/malloc/map_anon.c |  7 ++++---
 src/lib/malloc/map_anon.h | 22 ++++++++++++----------
 2 files changed, 16 insertions(+), 13 deletions(-)

diff --git a/src/lib/malloc/map_anon.c b/src/lib/malloc/map_anon.c
index 3e1c22648..f4fda00bf 100644
--- a/src/lib/malloc/map_anon.c
+++ b/src/lib/malloc/map_anon.c
@@ -118,7 +118,7 @@ nodump_mem(void *mem, size_t sz)
  * *<b>inherit_result_out</b>.
  */
 static int
-noinherit_mem(void *mem, size_t sz, unsigned *inherit_result_out)
+noinherit_mem(void *mem, size_t sz, inherit_res_t *inherit_result_out)
 {
 #ifdef FLAG_ZERO
   int r = MINHERIT(mem, sz, FLAG_ZERO);
@@ -163,10 +163,11 @@ noinherit_mem(void *mem, size_t sz, unsigned *inherit_result_out)
  * anonymity that Tor is trying to provide.]
  */
 void *
-tor_mmap_anonymous(size_t sz, unsigned flags, unsigned *inherit_result_out)
+tor_mmap_anonymous(size_t sz, unsigned flags,
+                   inherit_res_t *inherit_result_out)
 {
   void *ptr;
-  unsigned itmp=0;
+  inherit_res_t itmp=0;
   if (inherit_result_out == NULL) {
     inherit_result_out = &itmp;
   }
diff --git a/src/lib/malloc/map_anon.h b/src/lib/malloc/map_anon.h
index f101654eb..6c02cd6c1 100644
--- a/src/lib/malloc/map_anon.h
+++ b/src/lib/malloc/map_anon.h
@@ -31,15 +31,17 @@
  */
 #define ANONMAP_NOINHERIT (1u<<1)
 
-/** Possible value for inherit_result_out: the memory will be kept
- * by any child process. */
-#define INHERIT_RES_KEEP 0
-/** Possible value for inherit_result_out: the memory will be dropped in
- * the child process. Attempting to access it will likely cause a segfault. */
-#define INHERIT_RES_DROP 1
-/** Possible value for inherit_result_out: the memory will be cleared in
- * the child process. */
-#define INHERIT_RES_ZERO 2
+typedef enum {
+  /** Possible value for inherit_result_out: the memory will be kept
+   * by any child process. */
+  INHERIT_RES_KEEP=0,
+  /** Possible value for inherit_result_out: the memory will be dropped in the
+   * child process. Attempting to access it will likely cause a segfault. */
+  INHERIT_RES_DROP,
+  /** Possible value for inherit_result_out: the memory will be cleared in
+   * the child process. */
+  INHERIT_RES_ZERO
+} inherit_res_t;
 
 /* Here we define the NOINHERIT_CAN_FAIL macro if and only if
  * it's possible that ANONMAP_NOINHERIT might yield inheritable memory.
@@ -63,7 +65,7 @@
 #endif
 
 void *tor_mmap_anonymous(size_t sz, unsigned flags,
-                         unsigned *inherit_result_out);
+                         inherit_res_t *inherit_result_out);
 void tor_munmap_anonymous(void *mapping, size_t sz);
 
 #endif /* !defined(TOR_MAP_ANON_H) */





More information about the tor-commits mailing list