mirror of
https://github.com/void-linux/void-packages.git
synced 2025-04-15 13:46:58 +02:00
rr: update to 5.7.0.
This commit is contained in:
parent
cbcea0781f
commit
f556174877
2 changed files with 4 additions and 67 deletions
|
@ -1,63 +0,0 @@
|
|||
From 2979c60ef8bbf7c940afd90172ddc5d8863f766e Mon Sep 17 00:00:00 2001
|
||||
From: Robert O'Callahan <robert@ocallahan.org>
|
||||
Date: Thu, 25 Aug 2022 20:40:59 +1200
|
||||
Subject: [PATCH] Avoid creating a struct with elements after
|
||||
ethtool_sset_info's variable-length-array.
|
||||
|
||||
Resolves #3369
|
||||
---
|
||||
src/record_syscall.cc | 27 +++++++++++++--------------
|
||||
1 file changed, 13 insertions(+), 14 deletions(-)
|
||||
|
||||
diff --git a/src/record_syscall.cc b/src/record_syscall.cc
|
||||
index 2e4cdec352..48544e1df8 100644
|
||||
--- a/src/record_syscall.cc
|
||||
+++ b/src/record_syscall.cc
|
||||
@@ -1450,17 +1450,17 @@ template <typename Arch> void get_ethtool_gstrings_arch(RecordTask* t) {
|
||||
AutoRemoteSyscalls remote(t);
|
||||
|
||||
// Do a ETHTOOL_GSSET_INFO to get the number of strings
|
||||
- struct SingleStringSet {
|
||||
- ethtool_sset_info et;
|
||||
- uint32_t data;
|
||||
- };
|
||||
- SingleStringSet sss;
|
||||
- sss.et.cmd = ETHTOOL_GSSET_INFO;
|
||||
- sss.et.reserved = 0;
|
||||
- sss.et.sset_mask = 1 << et_gstrings.string_set;
|
||||
- AutoRestoreMem sss_mem(remote, &sss, sizeof(sss));
|
||||
-
|
||||
- ifreq.ifr_ifru.ifru_data = sss_mem.get();
|
||||
+ ethtool_sset_info et;
|
||||
+ et.cmd = ETHTOOL_GSSET_INFO;
|
||||
+ et.reserved = 0;
|
||||
+ et.sset_mask = 1 << et_gstrings.string_set;
|
||||
+ std::vector<uint8_t> buffer;
|
||||
+ buffer.resize(sizeof(et) + sizeof(uint32_t));
|
||||
+ memcpy(buffer.data(), &et, sizeof(et));
|
||||
+ memset(buffer.data() + sizeof(et), 0, sizeof(uint32_t));
|
||||
+ AutoRestoreMem et_mem(remote, buffer.data(), buffer.size());
|
||||
+
|
||||
+ ifreq.ifr_ifru.ifru_data = et_mem.get();
|
||||
AutoRestoreMem ifr_mem(remote, &ifreq, sizeof(ifreq));
|
||||
|
||||
long ret = remote.syscall(regs.original_syscallno(), regs.arg1(),
|
||||
@@ -1470,8 +1470,7 @@ template <typename Arch> void get_ethtool_gstrings_arch(RecordTask* t) {
|
||||
return;
|
||||
}
|
||||
|
||||
- sss = t->read_mem(sss_mem.get().cast<SingleStringSet>());
|
||||
-
|
||||
+ uint32_t data = t->read_mem((et_mem.get() + sizeof(et)).cast<uint32_t>());
|
||||
// Now do the ETHTOOL_GSTRINGS call
|
||||
ret = remote.syscall(regs.original_syscallno(), regs.arg1(), SIOCETHTOOL,
|
||||
regs.arg3());
|
||||
@@ -1479,7 +1478,7 @@ template <typename Arch> void get_ethtool_gstrings_arch(RecordTask* t) {
|
||||
if (ret < 0) {
|
||||
return;
|
||||
}
|
||||
- t->record_remote(orig_gstrings, sizeof(ethtool_gstrings) + ETH_GSTRING_LEN*sss.data);
|
||||
+ t->record_remote(orig_gstrings, sizeof(ethtool_gstrings) + ETH_GSTRING_LEN*data);
|
||||
}
|
||||
|
||||
static void get_ethtool_gstrings(RecordTask* t) {
|
|
@ -1,7 +1,7 @@
|
|||
# Template file for 'rr'
|
||||
pkgname=rr
|
||||
version=5.6.0
|
||||
revision=2
|
||||
version=5.7.0
|
||||
revision=1
|
||||
archs="i686 x86_64"
|
||||
build_style=cmake
|
||||
configure_args="-DBUILD_TESTS=OFF -DCMAKE_CXX_STANDARD=14"
|
||||
|
@ -11,8 +11,8 @@ short_desc="Nondeterministic debugger"
|
|||
maintainer="Orphaned <orphan@voidlinux.org>"
|
||||
license="MIT, BSD-2-Clause"
|
||||
homepage="http://rr-project.org/"
|
||||
distfiles="https://github.com/mozilla/rr/archive/${version}.tar.gz"
|
||||
checksum=a75262ae622c2c91d3391401d3da4e1dc9379b5afea5c40c9ea93f6905706c87
|
||||
distfiles="https://github.com/rr-debugger/rr/archive/${version}.tar.gz"
|
||||
checksum=f7affaaee7316effd3f0924c94bc452ef50d372b94470cafe8568efd88451447
|
||||
nopie=yes
|
||||
|
||||
case "$XBPS_MACHINE" in
|
||||
|
|
Loading…
Add table
Reference in a new issue