From 7a2b9f0672a33f01c743059a02f61a27d3ea6af1 Mon Sep 17 00:00:00 2001
From: Shreenidhi Shedi <sshedi@vmware.com>
Date: Thu, 2 Sep 2021 01:03:35 +0530
Subject: [PATCH 10/12] Optimize cpio_realloc_c_name logic

Signed-off-by: Shreenidhi Shedi <sshedi@vmware.com>
---
 src/util.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/src/util.c b/src/util.c
index d5fa248..6c76c75 100644
--- a/src/util.c
+++ b/src/util.c
@@ -1260,8 +1260,12 @@ set_file_times (int fd,
 void
 cpio_realloc_c_name (struct cpio_file_stat *file_hdr, size_t len)
 {
-  while (file_hdr->c_name_buflen < len)
-    file_hdr->c_name = x2realloc (file_hdr->c_name, &file_hdr->c_name_buflen);
+  if (len > file_hdr->c_name_buflen)
+  {
+    len -= file_hdr->c_name_buflen;
+    file_hdr->c_name = x2nrealloc (file_hdr->c_name, &file_hdr->c_name_buflen,
+                                   len);
+  }
 }
 
 void
-- 
2.17.1

