diff options
author | Hans de Goede <hdegoede@redhat.com> | 2013-03-06 15:45:04 +0100 |
---|---|---|
committer | Hans de Goede <hdegoede@redhat.com> | 2013-03-06 16:22:15 +0100 |
commit | eb7a99011cb79dc6f464b2d6a7277f5272b9074e (patch) | |
tree | d1cfbd193172b00c11c2b065102907effa8fdb19 | |
parent | f45a4c0ae527cecd9a261444569b21d1c8de00ad (diff) | |
download | vd_agent-eb7a99011cb79dc6f464b2d6a7277f5272b9074e.tar.gz vd_agent-eb7a99011cb79dc6f464b2d6a7277f5272b9074e.tar.xz vd_agent-eb7a99011cb79dc6f464b2d6a7277f5272b9074e.zip |
file-xfers: Fix unlinking of files on error / cancel
Store the complete path, rather then just the basename in task->file_name,
so that unlinking on error actually works.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
-rw-r--r-- | src/vdagent-file-xfers.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/vdagent-file-xfers.c b/src/vdagent-file-xfers.c index 959a491..2f0f3d3 100644 --- a/src/vdagent-file-xfers.c +++ b/src/vdagent-file-xfers.c @@ -189,9 +189,11 @@ void vdagent_file_xfers_start(struct vdagent_file_xfers *xfers, g_free(path); path = g_strdup_printf("%s (%d)", file_path, i + 1); } + g_free(task->file_name); + task->file_name = path; if (i == 64) { syslog(LOG_ERR, "file-xfer: more then 63 copies of %s exist?", - task->file_name); + file_path); goto error; } @@ -217,7 +219,6 @@ void vdagent_file_xfers_start(struct vdagent_file_xfers *xfers, udscs_write(xfers->vdagentd, VDAGENTD_FILE_XFER_STATUS, msg->id, VD_AGENT_FILE_XFER_STATUS_CAN_SEND_DATA, NULL, 0); g_free(file_path); - g_free(path); g_free(dir); return ; @@ -227,7 +228,6 @@ error: if (task) vdagent_file_xfer_task_free(task); g_free(file_path); - g_free(path); g_free(dir); } |