mirror of
https://github.com/kdave/btrfs-progs
synced 2025-01-14 01:31:02 +00:00
btrfs-progs: receive: use static buffer for source file
We should copy the optarg anyway. Signed-off-by: David Sterba <dsterba@suse.cz>
This commit is contained in:
parent
210bd3a693
commit
a245463281
@ -1096,7 +1096,7 @@ out:
|
||||
int cmd_receive(int argc, char **argv)
|
||||
{
|
||||
char *tomnt = NULL;
|
||||
char *fromfile = NULL;
|
||||
char fromfile[PATH_MAX];
|
||||
char realmnt[PATH_MAX];
|
||||
struct btrfs_receive r;
|
||||
int receive_fd = fileno(stdin);
|
||||
@ -1109,6 +1109,7 @@ int cmd_receive(int argc, char **argv)
|
||||
r.dest_dir_fd = -1;
|
||||
r.dest_dir_chroot = 0;
|
||||
realmnt[0] = 0;
|
||||
fromfile[0] = 0;
|
||||
|
||||
while (1) {
|
||||
int c;
|
||||
@ -1127,7 +1128,13 @@ int cmd_receive(int argc, char **argv)
|
||||
g_verbose++;
|
||||
break;
|
||||
case 'f':
|
||||
fromfile = optarg;
|
||||
if (arg_copy_path(fromfile, optarg, sizeof(fromfile))) {
|
||||
fprintf(stderr,
|
||||
"ERROR: input file path too long (%zu)\n",
|
||||
strlen(optarg));
|
||||
ret = 1;
|
||||
goto out;
|
||||
}
|
||||
break;
|
||||
case 'e':
|
||||
r.honor_end_cmd = 1;
|
||||
@ -1159,7 +1166,7 @@ int cmd_receive(int argc, char **argv)
|
||||
|
||||
tomnt = argv[optind];
|
||||
|
||||
if (fromfile) {
|
||||
if (fromfile[0]) {
|
||||
receive_fd = open(fromfile, O_RDONLY | O_NOATIME);
|
||||
if (receive_fd < 0) {
|
||||
fprintf(stderr, "ERROR: failed to open %s\n", fromfile);
|
||||
|
Loading…
Reference in New Issue
Block a user