From 245e028cba44feaddf55549c4c31f246f73c7c81 Mon Sep 17 00:00:00 2001 From: John Marino Date: Thu, 1 Nov 2012 21:17:48 +0100 Subject: [PATCH] libfetch: Fix failure to return to caller on error As described in FreeBSD PR kern/171187, several error conditions were missing return statements. Taken-from: FreeBSD SVN 240595 --- lib/libfetch/file.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/lib/libfetch/file.c b/lib/libfetch/file.c index 0d093b394a..d9530e54bb 100644 --- a/lib/libfetch/file.c +++ b/lib/libfetch/file.c @@ -49,12 +49,15 @@ fetchXGetFile(struct url *u, struct url_stat *us, const char *flags) f = fopen(u->doc, "r"); - if (f == NULL) + if (f == NULL) { fetch_syserr(); + return (NULL); + } if (u->offset && fseeko(f, u->offset, SEEK_SET) == -1) { fclose(f); fetch_syserr(); + return (NULL); } fcntl(fileno(f), F_SETFD, FD_CLOEXEC); @@ -77,12 +80,15 @@ fetchPutFile(struct url *u, const char *flags) else f = fopen(u->doc, "w+"); - if (f == NULL) + if (f == NULL) { fetch_syserr(); + return (NULL); + } if (u->offset && fseeko(f, u->offset, SEEK_SET) == -1) { fclose(f); fetch_syserr(); + return (NULL); } fcntl(fileno(f), F_SETFD, FD_CLOEXEC); -- 2.41.0