<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">From 434201a75809df7408648e8cb0b606c9c0bc4d37 Mon Sep 17 00:00:00 2001
Package: inetutils
Version: 1.6.91
From: Guillem Jover &lt;guillem@hadrons.org&gt;
Date: Sun, 6 Dec 2009 04:42:03 +0100
Status: applied
Subject: [PATCH] Do not segfault on lines without a new line character

	* hostname/hostname.c (parse_file): Remove initial getline.
	Change `while { }' to a `do { } while'.  Move getline in the
	loop to the beginning.
---
 hostname/hostname.c |   15 ++++++---------
 1 files changed, 6 insertions(+), 9 deletions(-)

diff --git a/hostname/hostname.c b/hostname/hostname.c
index c00e0f7..af8cf77 100644
--- a/hostname/hostname.c
+++ b/hostname/hostname.c
@@ -377,23 +377,20 @@ parse_file (const char *const file_name)
   if (file == NULL)
     error (EXIT_FAILURE, errno, "fopen");
 
-  nread = getline (&amp;buffer, &amp;size, file);
-  if (nread == -1)
-    error (EXIT_FAILURE, errno, "getline");
-
-  while (feof (file) == 0)
+  do
     {
+      nread = getline (&amp;buffer, &amp;size, file);
+      if (nread == -1)
+        error (EXIT_FAILURE, errno, "getline");
+
       if (buffer[0] != '#')
         {
           name = xmalloc (sizeof (char) * nread);
           sscanf (buffer, "%s", name);
           break;
         }
-
-      nread = getline (&amp;buffer, &amp;size, file);
-      if (nread == -1)
-        error (EXIT_FAILURE, errno, "getline");
     }
+  while (feof (file) == 0);
 
   free (buffer);
   fclose (file);
-- 
1.6.5.4

</pre></body></html>