]> granicus.if.org Git - libevent/commitdiff
sample/signal-test: add NULL checks
authordota17 <chenguopingdota@163.com>
Thu, 8 Aug 2019 13:28:20 +0000 (21:28 +0800)
committerAzat Khuzhin <azat@libevent.org>
Fri, 9 Aug 2019 09:31:02 +0000 (12:31 +0300)
Fixes: #865
sample/signal-test.c

index 18668350b868c2b8981f5ff00c875e770bcc49db..a85648405b5016a69e2e545e3d1ad22e36652f3d 100644 (file)
@@ -46,6 +46,7 @@ main(int argc, char **argv)
 {
        struct event *signal_int;
        struct event_base* base;
+       int ret = 0;
 #ifdef _WIN32
        WORD wVersionRequested;
        WSADATA wsaData;
@@ -57,16 +58,26 @@ main(int argc, char **argv)
 
        /* Initalize the event library */
        base = event_base_new();
+       if (!base) {
+               ret = 1;
+               goto out;
+       }
 
        /* Initalize one event */
        signal_int = evsignal_new(base, SIGINT, signal_cb, event_self_cbarg());
-
+       if (!signal_int) {
+               ret = 2;
+               goto out;
+       }
        event_add(signal_int, NULL);
 
        event_base_dispatch(base);
-       event_free(signal_int);
-       event_base_free(base);
 
-       return (0);
+out:
+       if (signal_int)
+               event_free(signal_int);
+       if (base)
+               event_base_free(base);
+       return ret;
 }