diff --git a/lib/vfs/mc-vfs/ftpfs.c b/lib/vfs/mc-vfs/ftpfs.c index fc6f3d5dc..93bfab624 100644 --- a/lib/vfs/mc-vfs/ftpfs.c +++ b/lib/vfs/mc-vfs/ftpfs.c @@ -218,8 +218,9 @@ ftpfs_translate_path (struct vfs_class *me, struct vfs_s_super *super, const cha ret = g_strdup (remote_path); /* replace first occurance of ":/" with ":" */ - if ((p = strchr (ret, ':')) && *(p + 1) == '/') - strcpy (p + 1, p + 2); + p = strchr (ret, ':'); + if ((p != NULL) && (*(p + 1) == '/')) + memmove (p + 1, p + 2, strlen (p + 2) + 1); /* strip trailing "/." */ if ((p = strrchr (ret, '/')) && *(p + 1) == '.' && *(p + 2) == '\0')