jesec-rtorrent: Add patch to prevent segfault
This commit is contained in:
parent
1a335c25e3
commit
4b7ad2c7ea
@ -0,0 +1,30 @@
|
||||
From dd4a96073d4a60ca8fff55be6ea6b17018de96a8 Mon Sep 17 00:00:00 2001
|
||||
From: Varun Madiath <git@madiathv.com>
|
||||
Date: Wed, 19 Jul 2023 15:30:57 -0400
|
||||
Subject: [PATCH] utils: lockfile: avoid stack overflow for lockfile buffer
|
||||
|
||||
Original patch by @cyphar was submitted to rakshasa/rtorrent at
|
||||
https://github.com/rakshasa/rtorrent/pull/1169.
|
||||
|
||||
Observed the segfault on nixos-unstable.
|
||||
---
|
||||
src/utils/lockfile.cc | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/utils/lockfile.cc b/src/utils/lockfile.cc
|
||||
index 76e4b8f..441f5c8 100644
|
||||
--- a/src/utils/lockfile.cc
|
||||
+++ b/src/utils/lockfile.cc
|
||||
@@ -75,7 +75,8 @@ Lockfile::try_lock() {
|
||||
int pos = ::gethostname(buf, 255);
|
||||
|
||||
if (pos == 0) {
|
||||
- ::snprintf(buf + std::strlen(buf), 255, ":+%i\n", ::getpid());
|
||||
+ ssize_t len = std::strlen(buf);
|
||||
+ ::snprintf(buf + len, 255 - len, ":+%i\n", ::getpid());
|
||||
ssize_t __attribute__((unused)) result = ::write(fd, buf, std::strlen(buf));
|
||||
}
|
||||
|
||||
--
|
||||
2.41.0
|
||||
|
@ -21,6 +21,10 @@ stdenv.mkDerivation rec {
|
||||
hash = "sha256-i7c1jSawHshj1kaXl8tdpelIKU24okeg9K5/+ht6t2k=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
./avoid-stack-overflow-for-lockfile-buf.patch
|
||||
];
|
||||
|
||||
passthru = {
|
||||
inherit libtorrent;
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user