diff options
author | Dirk Hohndel <dirk@hohndel.org> | 2014-03-14 16:01:52 -0700 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2014-03-14 16:01:52 -0700 |
commit | e70bbb637e1dd631cb54c9880afe6c7ae04d0b3e (patch) | |
tree | 0e6e93eb9b78dcce344677cde404adc74d032b77 /save-xml.c | |
parent | 8650a6ef6c61843b1a08929cc9f265d06c053614 (diff) | |
download | subsurface-e70bbb637e1dd631cb54c9880afe6c7ae04d0b3e.tar.gz |
If saving to a git repository fails, don't create oddly named XML file
Before this change when the user gave a git style filename, say
/tmp/mydives[myname], if Subsurface couldn't create a repository with that
branch, it instead saved an XML file to this exact name, with '[' and ']'.
That clearly is not the desired behavior, so report an error instead.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'save-xml.c')
-rw-r--r-- | save-xml.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/save-xml.c b/save-xml.c index 61a9300bb..c83101c13 100644 --- a/save-xml.c +++ b/save-xml.c @@ -606,7 +606,12 @@ int save_dives_logic(const char *filename, const bool select_only) git = is_git_repository(filename, &branch); if (git) return git_save_dives(git, branch, select_only); - + /* if the syntax is for a git save but saving we didn't find a + * repository, throw error */ + if (strchr(filename, '[')) { + report_error("Save failed, invalid git repository %s", filename); + return -1; + } try_to_backup(filename); save_dives_buffer(&buf, select_only); |