diff options
author | Michihiro NAKAJIMA <ggcueroad@gmail.com> | 2014-08-03 15:08:41 +0900 |
---|---|---|
committer | Michihiro NAKAJIMA <ggcueroad@gmail.com> | 2014-08-03 15:08:41 +0900 |
commit | 7b759a662c5816273691e594d2281686139fad1d (patch) | |
tree | 1ca028c50dd7abeb9e26c90dd2113196f565359e /libarchive/archive_read.c | |
parent | c0dd6ae5c5369384c14fcc1486886d8463c98909 (diff) | |
download | libarchive-7b759a662c5816273691e594d2281686139fad1d.tar.gz |
Properly set a error message when a client seeker callback is not
defined.
Diffstat (limited to 'libarchive/archive_read.c')
-rw-r--r-- | libarchive/archive_read.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/libarchive/archive_read.c b/libarchive/archive_read.c index cbf1c963..0882485f 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); } |