Handle invalid filenames passed to CopyCaptureToRemote

This commit is contained in:
baldurk
2020-02-05 14:15:10 +00:00
parent dd3c63e8ca
commit d3cbc6aadb
2 changed files with 17 additions and 1 deletions
+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;