diff --git a/src/protocols/rdp/channels/rdpdr/rdpdr-fs-messages.c b/src/protocols/rdp/channels/rdpdr/rdpdr-fs-messages.c index 6c004948..7522abc6 100644 --- a/src/protocols/rdp/channels/rdpdr/rdpdr-fs-messages.c +++ b/src/protocols/rdp/channels/rdpdr/rdpdr-fs-messages.c @@ -98,9 +98,13 @@ void guac_rdpdr_fs_process_create(guac_rdp_common_svc* svc, /* Create \Download if it doesn't exist */ file = guac_rdp_fs_get_file((guac_rdp_fs*) device->data, file_id); if (file != NULL && strcmp(file->absolute_path, "\\") == 0) { - int download_id = - guac_rdp_fs_open((guac_rdp_fs*) device->data, "\\Download", - GENERIC_READ, 0, FILE_OPEN_IF, FILE_DIRECTORY_FILE); + + /* Only create Download folder if downloads are enabled. */ + if(!((guac_rdp_fs*) devices->data)->disable_download) { + int download_id = + guac_rdp_fs_open((guac_rdp_fs*) device->data, "\\Download", + GENERIC_READ, 0, FILE_OPEN_IF, FILE_DIRECTORY_FILE); + } if (download_id >= 0) guac_rdp_fs_close((guac_rdp_fs*) device->data, download_id);