]> git.ipfire.org Git - thirdparty/ntp.git/commitdiff
[Bug 2969] Seg fault from ntpq/mrulist when looking at server with lots of clients
authorJuergen Perlinger <perlinger@ntp.org>
Fri, 20 Nov 2015 01:57:37 +0000 (02:57 +0100)
committerJuergen Perlinger <perlinger@ntp.org>
Fri, 20 Nov 2015 01:57:37 +0000 (02:57 +0100)
bk: 564e7e11PQSPK2SaqU2EvAMnCD-B1Q

ChangeLog
lib/isc/sockaddr.c
ntpq/ntpq-subs.c

index c532cb187c07b2c2e82ba9c52932873150fdc025..532e51ab08bc4a8df78bff190c64ae89b5dc54b8 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -17,6 +17,8 @@
   - make sure SOCKET values are not truncated (win32-specific)
   - format string fixes
 * [Bug 2965] Local clock didn't work since 4.2.8p4.  Martin Burnicki.
+* [Bug 2969]  Seg fault from ntpq/mrulist when looking at server with
+              lots of clients. perlinger@ntp.org
 * Unity cleanup for FreeBSD-6.4.  Harlan Stenn.
 * Unity test cleanup.  Harlan Stenn.
 ---
index eb0451b9d090757aa1b0cc9637351c1109720c3e..c6932d48f2bbab3b83e6eee8da1eb91429f37d83 100644 (file)
@@ -134,7 +134,7 @@ isc_sockaddr_totext(const isc_sockaddr_t *sockaddr, isc_buffer_t *target) {
                break;
 #ifdef ISC_PLAFORM_HAVESYSUNH
        case AF_UNIX:
-               plen = strlen(sockaddr->type.sunix.sun_path);
+               plen = (unsigned int)strlen(sockaddr->type.sunix.sun_path);
                if (plen >= isc_buffer_availablelength(target))
                        return (ISC_R_NOSPACE);
 
index 3ce9c1cc286bc78612b3f07b840f5ba4b3a9d003..b81dc379c1785daa81ae42e09e4fe53a7c034a00 100644 (file)
@@ -2865,7 +2865,7 @@ collect_mru_list(
                                 ri, sptoa(&recent->addr), ri,
                                 recent->last.l_ui, recent->last.l_uf);
                        chars = strlen(buf);
-                       if (REQ_ROOM - chars < 1)
+                       if (REQ_ROOM <= chars)
                                break;
                        memcpy(req, buf, chars + 1);
                        req += chars;