DBGC ( nfs, "NFS_OPEN %p completed (%s)\n", nfs, strerror ( rc ) );
+ free ( nfs->filename );
+
intf_shutdown ( &nfs->xfer, rc );
intf_shutdown ( &nfs->pm_intf, rc );
intf_shutdown ( &nfs->mount_intf, rc );
goto done;
}
+ /* We need to strdup() nfs->filename since the code handling
+ * symlink resolution make the assumption that it can be
+ * free()ed. */
+ if ( ( nfs->filename = strdup ( nfs->filename ) ) == NULL )
+ {
+ rc = -ENOMEM;
+ goto err;
+ }
+
nfs->current_fh = mnt_reply.fh;
nfs->nfs_state = NFS_LOOKUP;
nfs_step ( nfs );