[gvfs] Fix symlink target in query_info_reply() for sftp backend
- From: Alexander Larsson <alexl src gnome org>
 
- To: commits-list gnome org
 
- Cc: 
 
- Subject: [gvfs] Fix symlink target in query_info_reply() for sftp backend
 
- Date: Mon, 26 Nov 2012 15:54:28 +0000 (UTC)
 
commit 40fb32bef39e5fa590c82dd8d5f18bd974ccac5c
Author: Alexandre Rostovtsev <tetromino gmail com>
Date:   Tue Jun 14 04:55:38 2011 -0400
    Fix symlink target in query_info_reply() for sftp backend
    
    In SSH_FXP_NAME messages, the name field is preceded by a uint32
    count field. query_info_reply() in gvfsbackendsftp.c did not take
    the existence of the count field into account, and so set symlink
    targets incorrectly.
    
    For a simple demonstration, use gvfs-info to stat a symlink on an
    ssh mount.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=652535
 daemon/gvfsbackendsftp.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)
---
diff --git a/daemon/gvfsbackendsftp.c b/daemon/gvfsbackendsftp.c
index b8a21ae..4bb8cc8 100644
--- a/daemon/gvfsbackendsftp.c
+++ b/daemon/gvfsbackendsftp.c
@@ -4016,6 +4016,8 @@ query_info_reply (GVfsBackendSftp *backend,
         {
           char *symlink_target;
           
+          /* Skip count (always 1 for replies to SSH_FXP_READLINK) */
+          g_data_input_stream_read_uint32 (reply->data, NULL, NULL);
           symlink_target = read_string (reply->data, NULL);
           g_file_info_set_symlink_target (op_job->file_info, symlink_target);
           g_free (symlink_target);
[
Date Prev][
Date Next]   [
Thread Prev][
Thread Next]   
[
Thread Index]
[
Date Index]
[
Author Index]