Skip to content

Commit

Permalink
AP_Filesystem: Don't try and rename between backends
Browse files Browse the repository at this point in the history
  • Loading branch information
IamPete1 authored and peterbarker committed Jan 5, 2025
1 parent c722841 commit 78d9e5a
Showing 1 changed file with 11 additions and 2 deletions.
13 changes: 11 additions & 2 deletions libraries/AP_Filesystem/AP_Filesystem.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -192,8 +192,17 @@ int AP_Filesystem::mkdir(const char *pathname)

int AP_Filesystem::rename(const char *oldpath, const char *newpath)
{
const Backend &backend = backend_by_path(oldpath);
return backend.fs.rename(oldpath, newpath);
const Backend &oldbackend = backend_by_path(oldpath);

// Don't need the backend again, but we also need to remove the backend pre-fix from the new path.
const Backend &newbackend = backend_by_path(newpath);

// Don't try and rename between backends.
if (&oldbackend != &newbackend) {
return -1;
}

return oldbackend.fs.rename(oldpath, newpath);
}

AP_Filesystem::DirHandle *AP_Filesystem::opendir(const char *pathname)
Expand Down

0 comments on commit 78d9e5a

Please sign in to comment.