Alexandre Julliard : preloader: Reset both AT_SYSINFO and AT_SYSINFO_EHDR when one of them conflicts.

Alexandre Julliard julliard at wine.codeweavers.com
Tue Jan 2 06:45:55 CST 2007


Module: wine
Branch: master
Commit: 4d9f3dfae10102fdd464d102f01b8f2e1fcc5fdd
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=4d9f3dfae10102fdd464d102f01b8f2e1fcc5fdd

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Tue Jan  2 12:21:45 2007 +0100

preloader: Reset both AT_SYSINFO and AT_SYSINFO_EHDR when one of them conflicts.

---

 loader/preloader.c |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/loader/preloader.c b/loader/preloader.c
index 381b8e4..b1e2e53 100644
--- a/loader/preloader.c
+++ b/loader/preloader.c
@@ -1076,8 +1076,11 @@ void* wld_start( void **stack )
 
     i = 0;
     /* delete sysinfo values if addresses conflict */
-    if (is_in_preload_range( av, AT_SYSINFO )) delete_av[i++].a_type = AT_SYSINFO;
-    if (is_in_preload_range( av, AT_SYSINFO_EHDR )) delete_av[i++].a_type = AT_SYSINFO_EHDR;
+    if (is_in_preload_range( av, AT_SYSINFO ) || is_in_preload_range( av, AT_SYSINFO_EHDR ))
+    {
+        delete_av[i++].a_type = AT_SYSINFO;
+        delete_av[i++].a_type = AT_SYSINFO_EHDR;
+    }
     delete_av[i].a_type = AT_NULL;
 
     /* get rid of first argument */




More information about the wine-cvs mailing list