From 70465ffcfbd67461eb879e2c8c7d59aeda138aa9 Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Thu, 10 Aug 1995 23:09:46 +0000 Subject: (ar_scan) [AIAMAG]: Check for zero MEMBER_OFFSET, indicating a valid, but empty, archive. --- arscan.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'arscan.c') diff --git a/arscan.c b/arscan.c index a3dce83..e63659e 100644 --- a/arscan.c +++ b/arscan.c @@ -1,5 +1,5 @@ /* Library function for scanning an archive file. - Copyright (C) 1987, 89, 91, 92, 93, 94 Free Software Foundation, Inc. + Copyright (C) 1987, 89, 91, 92, 93, 94, 95 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -144,6 +144,13 @@ ar_scan (archive, function, arg) sscanf (fl_header.fl_fstmoff, "%12ld", &member_offset); sscanf (fl_header.fl_lstmoff, "%12ld", &last_member_offset); + + if (member_offset == 0) + { + /* Empty archive. */ + close (desc); + return 0; + } #else #ifndef M_XENIX register long int member_offset = sizeof (int); -- cgit v1.2.3