backport r3781, fix segfault in -h
authorsthen <sthen@openbsd.org>
Wed, 22 Jun 2016 20:09:55 +0000 (20:09 +0000)
committersthen <sthen@openbsd.org>
Wed, 22 Jun 2016 20:09:55 +0000 (20:09 +0000)
usr.sbin/unbound/daemon/unbound.c
usr.sbin/unbound/doc/Changelog

index d1de673..92a8ef7 100644 (file)
@@ -97,6 +97,9 @@ static void usage()
 {
        const char** m;
        const char *evnm="event", *evsys="", *evmethod="";
+       time_t t;
+       struct timeval now;
+       struct ub_event_base* base;
        printf("usage:  unbound [options]\n");
        printf("        start unbound daemon DNS resolver.\n");
        printf("-h      this help\n");
@@ -110,7 +113,8 @@ static void usage()
        printf("        service - used to start from services control panel\n");
 #endif
        printf("Version %s\n", PACKAGE_VERSION);
-       ub_get_event_sys(NULL, &evnm, &evsys, &evmethod);
+       base = ub_default_event_base(0,&t,&now);
+       ub_get_event_sys(base, &evnm, &evsys, &evmethod);
        printf("linked libs: %s %s (it uses %s), %s\n", 
                evnm, evsys, evmethod,
 #ifdef HAVE_SSL
@@ -127,6 +131,7 @@ static void usage()
        printf("\n");
        printf("BSD licensed, see LICENSE in source package for details.\n");
        printf("Report bugs to %s\n", PACKAGE_BUGREPORT);
+       ub_event_base_free(base);
 }
 
 #ifndef unbound_testbound
index 76ba1e6..bbc983e 100644 (file)
@@ -1,3 +1,6 @@
+13 June 2016: Wouter
+       - Fix #778: unbound 1.5.9: -h segfault (null deref).
+
 2 June 2016: Wouter
        - Fix libubound for edns optlist feature.
        - Fix distinction between free and CRYPTO_free in dsa and ecdsa alloc.