]> git.ipfire.org Git - thirdparty/libarchive.git/commitdiff
Properly set a error message when a client seeker callback is not
authorMichihiro NAKAJIMA <ggcueroad@gmail.com>
Sun, 3 Aug 2014 06:08:41 +0000 (15:08 +0900)
committerMichihiro NAKAJIMA <ggcueroad@gmail.com>
Sun, 3 Aug 2014 06:08:41 +0000 (15:08 +0900)
defined.

libarchive/archive_read.c

index cbf1c9636a2ce3b345770159b3c9c14be0bb31da..0882485f486066041f4f21f2f804471b466f0afd 100644 (file)
@@ -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);
 }