Handle invalid filenames passed to CopyCaptureToRemote

This commit is contained in:
baldurk committed 2020-02-05 14:15:10 +00:00
1 parent dd3c63e8ca
commit d3cbc6aadb
2 files changed
+17 -1

No files matched your search

+10 -1
View File
@@ -1497,11 +1497,20 @@ void RemoteServer::CopyCaptureFromRemote(const char *remotepath, const char *loc
rdcstr RemoteServer::CopyCaptureToRemote(const char *filename, RENDERDOC_ProgressCallback progress)
{
FILE *fileHandle = FileIO::fopen(filename, "rb");
if(!fileHandle)
{
RDCERR("Can't open file '%s'", filename);
return "";
}
{
WRITE_DATA_SCOPE();
SCOPED_SERIALISE_CHUNK(eRemoteServer_CopyCaptureToRemote);
StreamReader fileStream(FileIO::fopen(filename, "rb"));
// this will take ownership of and close the file
StreamReader fileStream(fileHandle);
ser.SerialiseStream(filename, fileStream, progress);
}
+7
View File
@@ -504,6 +504,13 @@ void StreamTransfer(StreamWriter *writer, StreamReader *reader, RENDERDOC_Progre
{
uint64_t totalSize = reader->GetSize();
if(totalSize == 0)
{
if(progress)
progress(1.0f);
return;
}
// copy 1MB at a time
const uint64_t StreamIOChunkSize = 1024 * 1024;