Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/netbsd-7]: src/lib/libperfuse Pull up following revision(s) (requested b...



details:   https://anonhg.NetBSD.org/src/rev/62ad6e272ab8
branches:  netbsd-7
changeset: 798317:62ad6e272ab8
user:      martin <martin%NetBSD.org@localhost>
date:      Sat Aug 30 19:30:28 2014 +0000

description:
Pull up following revision(s) (requested by manu in ticket #71):
        lib/libperfuse/ops.c: revision 1.70
We used to remove the trailing zeros in FUSE readlink replies, but
it seems it does not always happen. Just remove them if present.

diffstat:

 lib/libperfuse/ops.c |  12 ++++++++----
 1 files changed, 8 insertions(+), 4 deletions(-)

diffs (29 lines):

diff -r e015e32c25eb -r 62ad6e272ab8 lib/libperfuse/ops.c
--- a/lib/libperfuse/ops.c      Sat Aug 30 14:16:12 2014 +0000
+++ b/lib/libperfuse/ops.c      Sat Aug 30 19:30:28 2014 +0000
@@ -1,4 +1,4 @@
-/*  $NetBSD: ops.c,v 1.66.2.1 2014/08/24 08:42:06 martin Exp $ */
+/*  $NetBSD: ops.c,v 1.66.2.2 2014/08/30 19:30:28 martin Exp $ */
 
 /*-
  *  Copyright (c) 2010-2011 Emmanuel Dreyfus. All rights reserved.
@@ -2633,12 +2633,16 @@
        if (len == 0)
                DERRX(EX_PROTOCOL, "path len = %zd too short", len);
                
+       (void)memcpy(linkname, _GET_OUTPAYLOAD(ps, pm, char *), len);
+
        /*
         * FUSE filesystems return a NUL terminated string, we 
-        * do not want to trailing \0
+        * do not want the trailing \0
         */
-       *linklen = len - 1;
-       (void)memcpy(linkname, _GET_OUTPAYLOAD(ps, pm, char *), len);
+       while (len > 0 && linkname[len - 1] == '\0')
+               len--;
+
+       *linklen = len;
 
        ps->ps_destroy_msg(pm);
        error = 0;



Home | Main Index | Thread Index | Old Index