[Libguestfs] [PATCH 2/2] copy-in: error out early if the localpath does not exist (RHBZ#1267032)
Richard W.M. Jones
rjones at redhat.com
Tue Sep 29 16:45:59 UTC 2015
On Tue, Sep 29, 2015 at 06:18:39PM +0200, Pino Toscano wrote:
> On Tuesday 29 September 2015 12:55:31 Richard W.M. Jones wrote:
> > On Tue, Sep 29, 2015 at 11:38:52AM +0200, Pino Toscano wrote:
> > > ---
> > > src/copy-in-out.c | 6 ++++++
> > > 1 file changed, 6 insertions(+)
> > >
> > > diff --git a/src/copy-in-out.c b/src/copy-in-out.c
> > > index 0dd8cd3..2b1e4d4 100644
> > > --- a/src/copy-in-out.c
> > > +++ b/src/copy-in-out.c
> > > @@ -47,6 +47,12 @@ guestfs_impl_copy_in (guestfs_h *g, const char *localpath, const char *remotedir
> > > char buf[buf_len];
> > > const char *dirname, *basename;
> > > CLEANUP_FREE char *tar_buf = NULL;
> > > + struct stat statbuf;
> > > +
> > > + if (stat (localpath, &statbuf) == -1) {
> > > + error (g, _("source '%s' does not exist (or cannot be read)"), localpath);
> > > + return -1;
> > > + }
> > >
> > > int remote_is_dir = guestfs_is_dir (g, remotedir);
> > > if (remote_is_dir == -1)
> >
> > NACK. See the patch series I just posted.
>
> Would patch #2 be acceptable anyway, as simple starting check?
Would it be better for it to use perrorf() there?
I'm trying to think of a case where localpath could not be stat'ed,
and yet tar would succeed, but I can't think of one.
Rich.
--
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
virt-p2v converts physical machines to virtual machines. Boot with a
live CD or over the network (PXE) and turn machines into KVM guests.
http://libguestfs.org/virt-v2v
More information about the Libguestfs
mailing list