[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] master cf6ce9a: Port dumping better to WSL
From: |
Paul Eggert |
Subject: |
[Emacs-diffs] master cf6ce9a: Port dumping better to WSL |
Date: |
Wed, 21 Dec 2016 17:57:09 +0000 (UTC) |
branch: master
commit cf6ce9a1fe320ebe5b238af5f7af9416ac954855
Author: Paul Eggert <address@hidden>
Commit: Paul Eggert <address@hidden>
Port dumping better to WSL
Problem reported by Angelo Graziosi in:
http://lists.gnu.org/archive/html/emacs-devel/2016-12/msg00822.html
* src/sysdep.c (disable_address_randomization):
Detect buggy platforms where 'personality' always returns 0.
---
src/sysdep.c | 13 +++++++++----
1 file changed, 9 insertions(+), 4 deletions(-)
diff --git a/src/sysdep.c b/src/sysdep.c
index 96c9e53..86d420f 100644
--- a/src/sysdep.c
+++ b/src/sysdep.c
@@ -144,11 +144,16 @@ static const int baud_convert[] =
bool
disable_address_randomization (void)
{
- bool disabled = false;
int pers = personality (0xffffffff);
- disabled = (! (pers & ADDR_NO_RANDOMIZE)
- && 0 <= personality (pers | ADDR_NO_RANDOMIZE));
- return disabled;
+ if (pers < 0)
+ return false;
+ int desired_pers = pers | ADDR_NO_RANDOMIZE;
+
+ /* Call 'personality' twice, to detect buggy platforms like WSL
+ where 'personality' always returns 0. */
+ return (pers != desired_pers
+ && personality (desired_pers) == pers
+ && personality (0xffffffff) == desired_pers);
}
#endif
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] master cf6ce9a: Port dumping better to WSL,
Paul Eggert <=