io: fix few error path leaks
parent
09e48d8f06
commit
1bbca16333
|
@ -149,12 +149,10 @@ struct apk_istream *apk_bstream_gunzip_mpart(struct apk_bstream *bs,
|
|||
{
|
||||
struct apk_gzip_istream *gis;
|
||||
|
||||
if (bs == NULL)
|
||||
return NULL;
|
||||
if (!bs) return NULL;
|
||||
|
||||
gis = malloc(sizeof(struct apk_gzip_istream));
|
||||
if (gis == NULL)
|
||||
goto err;
|
||||
if (!gis) goto err;
|
||||
|
||||
*gis = (struct apk_gzip_istream) {
|
||||
.is.read = gzi_read,
|
||||
|
|
9
src/io.c
9
src/io.c
|
@ -427,14 +427,19 @@ struct apk_bstream *apk_bstream_tee(struct apk_bstream *from, int atfd, const ch
|
|||
struct apk_tee_bstream *tbs;
|
||||
int fd;
|
||||
|
||||
if (!from) return NULL;
|
||||
|
||||
fd = openat(atfd, to, O_CREAT | O_RDWR | O_TRUNC | O_CLOEXEC,
|
||||
S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH);
|
||||
if (fd < 0)
|
||||
if (fd < 0) {
|
||||
from->close(from, NULL);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
tbs = malloc(sizeof(struct apk_tee_bstream));
|
||||
if (tbs == NULL) {
|
||||
if (!tbs) {
|
||||
close(fd);
|
||||
from->close(from, NULL);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue