INN commit: trunk/lib (clientlib.c)

INN Commit rra at isc.org
Sun May 10 12:56:58 UTC 2020


    Date: Sunday, May 10, 2020 @ 05:56:57
  Author: iulius
Revision: 10363

Fix build with GCC 10.1

Ensure that ser_line is at least 4-byte long.

Modified:
  trunk/lib/clientlib.c

-------------+
 clientlib.c |   29 ++++++++++++++++-------------
 1 file changed, 16 insertions(+), 13 deletions(-)

Modified: clientlib.c
===================================================================
--- clientlib.c	2020-05-10 12:56:11 UTC (rev 10362)
+++ clientlib.c	2020-05-10 12:56:57 UTC (rev 10363)
@@ -83,19 +83,22 @@
     default:
 	printf("Unknown response code %d from %s.\n", response, host);
 	return -1;
-     case NNTP_FAIL_TERMINATING:
-	if (atoi(ser_line) == response) {
-	    p = &ser_line[strlen(ser_line) - 1];
-	    if (*p == '\n' && *--p == '\r')
-		*p = '\0';
-	    if (p > &ser_line[3]) {
-		printf("News server %s unavailable: %s\n", host,
-			&ser_line[4]);
-		return -1;
-	    }
-	}
-	printf("News server %s unavailable, try later.\n", host);
-	return -1;
+    case NNTP_FAIL_TERMINATING:
+        if (atoi(ser_line) == response) {
+            size_t ser_line_len = strlen(ser_line);
+            if (ser_line_len > 4) {
+                p = &ser_line[ser_line_len - 1];
+                if (*p == '\n' && *--p == '\r')
+                    *p = '\0';
+                if (p > &ser_line[3]) {
+                    printf("News server %s unavailable: %s\n", host,
+                           &ser_line[4]);
+                    return -1;
+                }
+            }
+        }
+        printf("News server %s unavailable, try later.\n", host);
+        return -1;
     case NNTP_ERR_ACCESS:
 	printf(CANTUSE, host);
 	return -1;



More information about the inn-committers mailing list