s3: Fix Coverity ID 83: RESOURCE_LEAK
authorVolker Lendecke <vl@samba.org>
Sun, 27 Mar 2011 17:08:10 +0000 (19:08 +0200)
committerVolker Lendecke <vl@samba.org>
Sun, 27 Mar 2011 20:22:10 +0000 (22:22 +0200)
source3/client/clitar.c

index bef53dcbbc0ebe1eae956a5c4146b6397bb3fda9..ac891aa7e8c613be530af33348f0bfafd290d31d 100644 (file)
@@ -1206,16 +1206,19 @@ static void do_tarput(void)
                                DEBUG(0, ("Skipping %s...\n", finfo.name));
                                if ((next_block(tarbuf, &buffer_p, tbufsiz) <= 0) && !skip_file(finfo.size)) {
                                        DEBUG(0, ("Short file, bailing out...\n"));
+                                       SAFE_FREE(longfilename);
                                        return;
                                }
                                break;
 
                        case -1:
                                DEBUG(0, ("abandoning restore, -1 from read tar header\n"));
+                               SAFE_FREE(longfilename);
                                return;
 
                        case 0: /* chksum is zero - looks like an EOF */
                                DEBUG(0, ("tar: restored %d files and directories\n", ntarf));
+                               SAFE_FREE(longfilename);
                                return;        /* Hmmm, bad here ... */
 
                        default: