diff --git a/src/names.c b/src/names.c
index 3704a919..4710848f 100644
--- a/src/names.c
+++ b/src/names.c
@@ -363,11 +363,10 @@ read_name_from_file (struct name_elt *ent)
size_t counter = 0;
FILE *fp = ent->v.file.fp;
int term = ent->v.file.term;
- size_t count;
for (c = getc (fp); c != EOF && c != term; c = getc (fp))
{
- if (count == name_buffer_length)
+ if (counter == name_buffer_length)
name_buffer = x2realloc (name_buffer, &name_buffer_length);
name_buffer[counter++] = c;
if (c == 0)
@@ -381,7 +380,7 @@ read_name_from_file (struct name_elt *ent)
if (counter == 0 && c != EOF)
return file_list_skip;
- if (count == name_buffer_length)
+ if (counter == name_buffer_length)
name_buffer = x2realloc (name_buffer, &name_buffer_length);
name_buffer[counter] = 0;
diff --git a/tests/T-zfile.at b/tests/T-zfile.at
index f4adfe83..8761c7c4 100644
--- a/tests/T-zfile.at
+++ b/tests/T-zfile.at
@@ -18,6 +18,11 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see .
+# Tar malfunctioned when given empty file as an argument to -T.
+#
+# Reported by: Michal Žejdl
+# References:
+
AT_SETUP([empty file])
AT_KEYWORDS([files-from empty-file])