X-Git-Url: http://git.annexia.org/?p=libguestfs.git;a=blobdiff_plain;f=daemon%2Ftar.c;h=bb0e4830820f346991b10231b7e1ecbcd90f49f4;hp=ebcaded82770d54cd9ac8338d031b1a93fc25a2a;hb=07f4b20ae959069fca41756b0dc103ec5fa99754;hpb=e9c37113104c1cfb234535adc9b52ad3880a41ce diff --git a/daemon/tar.c b/daemon/tar.c index ebcaded..bb0e483 100644 --- a/daemon/tar.c +++ b/daemon/tar.c @@ -88,7 +88,8 @@ do_tar_in (const char *dir) if (pclose (fp) != 0) { err = errno; - cancel_receive (); + if (r == -1) /* if r == 0, file transfer ended already */ + cancel_receive (); errno = err; reply_with_perror ("pclose: %s", dir); return -1; @@ -209,7 +210,8 @@ do_tgz_in (const char *dir) if (pclose (fp) != 0) { err = errno; - cancel_receive (); + if (r == -1) /* if r == 0, file transfer ended already */ + cancel_receive (); errno = err; reply_with_perror ("pclose: %s", dir); return -1;