aboutsummaryrefslogtreecommitdiff
path: root/src/lib/malloc
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2019-04-03 10:57:06 -0400
committerNick Mathewson <nickm@torproject.org>2019-04-04 12:56:52 -0400
commit76912bf140ec61856c0bb0d25354283d024229f5 (patch)
tree7cc9b92ec6f4a041a2d9385bc263a929dcf273c4 /src/lib/malloc
parent8c06f02c94067d7ad1bf39982e7238b7fafae0e0 (diff)
downloadtor-76912bf140ec61856c0bb0d25354283d024229f5.tar.gz
tor-76912bf140ec61856c0bb0d25354283d024229f5.zip
Use an enum for inherit_result_out.
Diffstat (limited to 'src/lib/malloc')
-rw-r--r--src/lib/malloc/map_anon.c7
-rw-r--r--src/lib/malloc/map_anon.h22
2 files changed, 16 insertions, 13 deletions
diff --git a/src/lib/malloc/map_anon.c b/src/lib/malloc/map_anon.c
index 3e1c22648d..f4fda00bff 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 f101654eb8..6c02cd6c16 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) */