void-packages/srcpkgs/proot/patches/loader.patch

41 lines
1.4 KiB
Diff

From d649854ddb66779950954aac99d960379c631a71 Mon Sep 17 00:00:00 2001
From: Nicolas Cornu <ncornu@aldebaran.com>
Date: Wed, 29 Jul 2015 14:52:57 +0200
Subject: [PATCH] Fix use of size
---
src/execve/enter.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git src/execve/enter.c b/src/execve/enter.c
index 8f22d9c..4c163a1 100644
--- src/execve/enter.c
+++ src/execve/enter.c
@@ -454,10 +454,10 @@ static int expand_runner(Tracee* tracee, char host_path[PATH_MAX], char user_pat
}
extern unsigned char _binary_loader_exe_start;
-extern unsigned char _binary_loader_exe_size;
+extern unsigned char _binary_loader_exe_end;
extern unsigned char WEAK _binary_loader_m32_exe_start;
-extern unsigned char WEAK _binary_loader_m32_exe_size;
+extern unsigned char WEAK _binary_loader_m32_exe_end;
/**
* Extract the built-in loader. This function returns NULL if an
@@ -483,11 +483,11 @@ static char *extract_loader(const Tracee *tracee, bool wants_32bit_version)
if (wants_32bit_version) {
start = (void *) &_binary_loader_m32_exe_start;
- size = (size_t) &_binary_loader_m32_exe_size;
+ size = (size_t)(&_binary_loader_m32_exe_end-&_binary_loader_m32_exe_start);
}
else {
start = (void *) &_binary_loader_exe_start;
- size = (size_t) &_binary_loader_exe_size;
+ size = (size_t) (&_binary_loader_exe_end-&_binary_loader_exe_start);
}
status2 = write(fd, start, size);