diff --git a/ares/ares__read_line.c b/ares/ares__read_line.c
index 5a66c63ba374d2c3353ed10ed6064165b80b6f02..f4d4f505b0a548ee5d125ce25508c5c03733d0ee 100644
--- a/ares/ares__read_line.c
+++ b/ares/ares__read_line.c
@@ -50,7 +50,7 @@ int ares__read_line(FILE *fp, char **buf, int *bufsize)
       if ((*buf)[len - 1] == '\n')
         {
           (*buf)[len - 1] = 0;
-          return ARES_SUCCESS;
+          break;
         }
       offset = len;
 
@@ -61,4 +61,5 @@ int ares__read_line(FILE *fp, char **buf, int *bufsize)
       *buf = newbuf;
       *bufsize *= 2;
     }
+  return ARES_SUCCESS;
 }