diff options
Diffstat (limited to 'cmds-receive.c')
-rw-r--r-- | cmds-receive.c | 28 |
1 files changed, 24 insertions, 4 deletions
diff --git a/cmds-receive.c b/cmds-receive.c index f4a3a4f1..d0525bfb 100644 --- a/cmds-receive.c +++ b/cmds-receive.c @@ -166,8 +166,18 @@ static int process_subvol(const char *path, const u8 *uuid, u64 ctransid, if (ret < 0) goto out; - BUG_ON(r->cur_subvol.path); - BUG_ON(r->cur_subvol_path[0]); + if (r->cur_subvol.path) { + error("subvol: another one already started, path ptr: %s", + r->cur_subvol.path); + ret = -EINVAL; + goto out; + } + if (r->cur_subvol_path[0]) { + error("subvol: another one already started, path buf: %s", + r->cur_subvol.path); + ret = -EINVAL; + goto out; + } if (*r->dest_dir_path == 0) { strncpy_null(r->cur_subvol_path, path); @@ -224,8 +234,18 @@ static int process_snapshot(const char *path, const u8 *uuid, u64 ctransid, if (ret < 0) goto out; - BUG_ON(r->cur_subvol.path); - BUG_ON(r->cur_subvol_path[0]); + if (r->cur_subvol.path) { + error("snapshot: another one already started, path ptr: %s", + r->cur_subvol.path); + ret = -EINVAL; + goto out; + } + if (r->cur_subvol_path[0]) { + error("snapshot: another one already started, path buf: %s", + r->cur_subvol.path); + ret = -EINVAL; + goto out; + } if (*r->dest_dir_path == 0) { strncpy_null(r->cur_subvol_path, path); |