From: Jochem Broekhoff Date: Fri, 9 Apr 2021 09:03:30 +0000 (+0200) Subject: examples/hiperfifo.c: check event_initialized before delete X-Git-Tag: curl-7_76_1~8 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=255bdfe65c593c5c484fe5e8606f1915c26097e3;p=thirdparty%2Fcurl.git examples/hiperfifo.c: check event_initialized before delete If event_del is called with the event struct (still) zeroed out, a segmentation fault may occur. event_initialized checks whether the event struct is nonzero. Closes #6876 --- diff --git a/docs/examples/hiperfifo.c b/docs/examples/hiperfifo.c index 2ca6251835..b22f1a71c5 100644 --- a/docs/examples/hiperfifo.c +++ b/docs/examples/hiperfifo.c @@ -234,7 +234,9 @@ static void timer_cb(int fd, short kind, void *userp) static void remsock(SockInfo *f) { if(f) { - event_del(&f->ev); + if(event_initialized(&f->ev)) { + event_del(&f->ev); + } free(f); } } @@ -252,7 +254,9 @@ static void setsock(SockInfo *f, curl_socket_t s, CURL *e, int act, f->sockfd = s; f->action = act; f->easy = e; - event_del(&f->ev); + if(event_initialized(&f->ev)) { + event_del(&f->ev); + } event_assign(&f->ev, g->evbase, f->sockfd, kind, event_cb, g); event_add(&f->ev, NULL); }