From 95b982db7d3f8e91e71382715ed9ae310114e796 Mon Sep 17 00:00:00 2001
From: Xin LI <delphij@FreeBSD.org>
Date: Thu, 14 May 2015 21:34:20 +0000
Subject: [PATCH] Apply upstream changeset e6c9668:

Add a check to archive_read_filter_consume to reject any
attempts to move the file pointer by a negative amount.

Note:  Either this or commit 3865cf2 provides a fix for
Issue 394.
---
 libarchive/archive_read.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/libarchive/archive_read.c b/libarchive/archive_read.c
index 048c316c52d4..7f3edc1567dd 100644
--- a/libarchive/archive_read.c
+++ b/libarchive/archive_read.c
@@ -1394,6 +1394,8 @@ __archive_read_filter_consume(struct archive_read_filter * filter,
 {
 	int64_t skipped;
 
+	if (request < 0)
+		return ARCHIVE_FATAL;
 	if (request == 0)
 		return 0;