... | ... |
@@ -948,18 +948,18 @@ int cli_dumpscan(int fd, off_t offset, size_t size, cli_ctx *ctx) |
948 | 948 |
if((uint32_t) (sum + bread) >= size) { |
949 | 949 |
if(write(newfd, buff, size - sum) == -1) { |
950 | 950 |
cli_errmsg("cli_dumpscan: Can't write to %s\n", name); |
951 |
+ close(newfd); |
|
951 | 952 |
cli_unlink(name); |
952 | 953 |
free(name); |
953 |
- close(newfd); |
|
954 | 954 |
return CL_EWRITE; |
955 | 955 |
} |
956 | 956 |
break; |
957 | 957 |
} else { |
958 | 958 |
if(write(newfd, buff, bread) == -1) { |
959 | 959 |
cli_errmsg("cli_dumpscan: Can't write to %s\n", name); |
960 |
+ close(newfd); |
|
960 | 961 |
cli_unlink(name); |
961 | 962 |
free(name); |
962 |
- close(newfd); |
|
963 | 963 |
return CL_EWRITE; |
964 | 964 |
} |
965 | 965 |
} |
... | ... |
@@ -250,10 +250,10 @@ static int utf16decode(const struct optstruct *opts) |
250 | 250 |
if(write(fd2, decoded, strlen(decoded)) == -1) { |
251 | 251 |
mprintf("!utf16decode: Can't write to file %s\n", newname); |
252 | 252 |
free(decoded); |
253 |
- unlink(newname); |
|
254 |
- free(newname); |
|
255 | 253 |
close(fd1); |
256 | 254 |
close(fd2); |
255 |
+ unlink(newname); |
|
256 |
+ free(newname); |
|
257 | 257 |
return -1; |
258 | 258 |
} |
259 | 259 |
free(decoded); |