]> arthur.barton.de Git - netatalk.git/commitdiff
Fix a Solaris 10 SPARC sendfilev bug
authorFrank Lahm <franklahm@googlemail.com>
Tue, 10 Jul 2012 12:47:41 +0000 (14:47 +0200)
committerFrank Lahm <franklahm@googlemail.com>
Tue, 10 Jul 2012 12:47:41 +0000 (14:47 +0200)
NEWS
libatalk/dsi/dsi_stream.c

diff --git a/NEWS b/NEWS
index 31d47954732f9a23396a530e32938c1ac59d99aa..440ccdc0ddcf8eebad57249c668f0704cc808686 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,7 @@
+Changes in 3.0.1
+================
+* FIX: afpd: Fix a Solaris 10 SPARC sendfilev bug
+
 Changes in 3.0
 ==============
 * UPD: afpd: force read only mode if cnid scheme is last
index 97eb8ad717e96b17c493df472a2254be318a0c15..98c9396f77cb58157867b907b0082618b2d9e1a8 100644 (file)
@@ -364,7 +364,9 @@ ssize_t dsi_stream_read_file(DSI *dsi, const int fromfd, off_t offset, const siz
     sfvcnt = 2;
     vec[0].sfv_fd = SFV_FD_SELF;
     vec[0].sfv_flag = 0;
-    vec[0].sfv_off = block;
+    /* Cast to unsigned long to prevent sign extension of the
+     * pointer value for the LFS case; see Apache PR 39463. */
+    vec[0].sfv_off = (unsigned long)block;
     vec[0].sfv_len = DSI_BLOCKSIZ;
     vec[1].sfv_fd = fromfd;
     vec[1].sfv_flag = 0;