diff options
Diffstat (limited to 'nixpkgs/pkgs/tools/filesystems/curlftpfs')
3 files changed, 23 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/tools/filesystems/curlftpfs/default.nix b/nixpkgs/pkgs/tools/filesystems/curlftpfs/default.nix index f1e08f0362d2..1263ccb8565e 100644 --- a/nixpkgs/pkgs/tools/filesystems/curlftpfs/default.nix +++ b/nixpkgs/pkgs/tools/filesystems/curlftpfs/default.nix @@ -14,6 +14,8 @@ stdenv.mkDerivation rec { # it is known to cause problems. Search online for "rpl_malloc" and # "rpl_realloc" to find out more. ./fix-rpl_malloc.patch + ./suse-bug-580609.patch + ./suse-bug-955687.patch ]; nativeBuildInputs = [ autoreconfHook pkg-config ]; diff --git a/nixpkgs/pkgs/tools/filesystems/curlftpfs/suse-bug-580609.patch b/nixpkgs/pkgs/tools/filesystems/curlftpfs/suse-bug-580609.patch new file mode 100644 index 000000000000..068fb129a4b1 --- /dev/null +++ b/nixpkgs/pkgs/tools/filesystems/curlftpfs/suse-bug-580609.patch @@ -0,0 +1,10 @@ +--- a/ftpfs.c 2008-04-30 01:05:47.000000000 +0200 ++++ b/ftpfs.c 2010-05-21 13:01:42.569006163 +0200 +@@ -503,7 +503,6 @@ static void *ftpfs_write_thread(void *da + + curl_easy_setopt_or_die(fh->write_conn, CURLOPT_URL, fh->full_path); + curl_easy_setopt_or_die(fh->write_conn, CURLOPT_UPLOAD, 1); +- curl_easy_setopt_or_die(fh->write_conn, CURLOPT_INFILESIZE, -1); + curl_easy_setopt_or_die(fh->write_conn, CURLOPT_READFUNCTION, write_data_bg); + curl_easy_setopt_or_die(fh->write_conn, CURLOPT_READDATA, fh); + curl_easy_setopt_or_die(fh->write_conn, CURLOPT_LOW_SPEED_LIMIT, 1); diff --git a/nixpkgs/pkgs/tools/filesystems/curlftpfs/suse-bug-955687.patch b/nixpkgs/pkgs/tools/filesystems/curlftpfs/suse-bug-955687.patch new file mode 100644 index 000000000000..b198c586e0cb --- /dev/null +++ b/nixpkgs/pkgs/tools/filesystems/curlftpfs/suse-bug-955687.patch @@ -0,0 +1,11 @@ +--- a/ftpfs.c ++++ b/ftpfs.c +@@ -614,6 +614,8 @@ static void free_ftpfs_file(struct ftpfs + sem_destroy(&fh->data_need); + sem_destroy(&fh->data_written); + sem_destroy(&fh->ready); ++ if (fh->buf.size) { buf_free(&fh->buf); } ++ if (fh->stream_buf.size) { buf_free(&fh->stream_buf); } + free(fh); + } + |