mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-05-04 17:10:47 +00:00
Handle invalid filenames passed to CopyCaptureToRemote
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user