From: Michihiro NAKAJIMA Date: Sun, 3 Aug 2014 06:08:41 +0000 (+0900) Subject: Properly set a error message when a client seeker callback is not X-Git-Tag: v3.1.900a~253 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7b759a662c5816273691e594d2281686139fad1d;p=thirdparty%2Flibarchive.git Properly set a error message when a client seeker callback is not defined. --- diff --git a/libarchive/archive_read.c b/libarchive/archive_read.c index cbf1c9636..0882485f4 100644 --- a/libarchive/archive_read.c +++ b/libarchive/archive_read.c @@ -230,8 +230,11 @@ client_seek_proxy(struct archive_read_filter *self, int64_t offset, int whence) * other libarchive code that assumes a successful forward * seek means it can also seek backwards. */ - if (self->archive->client.seeker == NULL) + if (self->archive->client.seeker == NULL) { + archive_set_error(&self->archive->archive, ARCHIVE_ERRNO_MISC, + "Current client reader does not support seeking a device"); return (ARCHIVE_FAILED); + } return (self->archive->client.seeker)(&self->archive->archive, self->data, offset, whence); }