** CID 339073: Error handling issues (CHECKED_RETURN)
/lib/dns/resolver.c: 4379 in fctx_doshutdown()
________________________________________________________________________________________________________
*** CID 339073: Error handling issues (CHECKED_RETURN)
/lib/dns/resolver.c: 4379 in fctx_doshutdown()
4373 */
4374 fctx_increference(fctx);
4375 fctx_cancelqueries(fctx, false, false);
4376 fctx_cleanup(fctx);
4377
4378 LOCK(&res->buckets[bucketnum].lock);
CID 339073: Error handling issues (CHECKED_RETURN)
Calling "fctx_decreference" without checking return value (as is done elsewhere 6 out of 7 times).
4379 fctx_decreference(fctx);
4380
4381 FCTX_ATTR_SET(fctx, FCTX_ATTR_SHUTTINGDOWN);
4382
4383 INSIST(fctx->state == fetchstate_active ||
4384 fctx->state == fetchstate_done);
** CID 339072: Error handling issues (CHECKED_RETURN)
/lib/dns/rpz.c: 2247 in rpz_detach()
________________________________________________________________________________________________________
*** CID 339072: Error handling issues (CHECKED_RETURN)
/lib/dns/rpz.c: 2247 in rpz_detach()
2241 false);
2242 }
2243 dns_db_detach(&rpz->updb);
2244 }
2245 }
2246
CID 339072: Error handling issues (CHECKED_RETURN)
Calling "isc_timer_reset" without checking return value (as is done elsewhere 9 out of 10 times).
2247 isc_timer_reset(rpz->updatetimer, isc_timertype_inactive, NULL,
2248 NULL, true);
2249 isc_timer_detach(&rpz->updatetimer);
2250
2251 isc_ht_destroy(&rpz->nodes);
2252
** CID 339071: (USE_AFTER_FREE)
/lib/dns/resolver.c: 2846 in resquery_connected()
/lib/dns/resolver.c: 2846 in resquery_connected()
/lib/dns/resolver.c: 2846 in resquery_connected()
/lib/dns/resolver.c: 2846 in resquery_connected()
________________________________________________________________________________________________________
*** CID 339071: (USE_AFTER_FREE)
/lib/dns/resolver.c: 2846 in resquery_connected()
2840 fctx_cancelquery(query, NULL, false, false);
2841 fctx_done(fctx, eresult, __LINE__);
2842 break;
2843 }
2844
2845 detach:
CID 339071: (USE_AFTER_FREE)
Calling "resquery_detach" frees pointer "query" which has already been freed.
2846 resquery_detach(&query);
2847 }
2848
2849 static void
2850 fctx_finddone(isc_task_t *task, isc_event_t *event) {
2851 fetchctx_t *fctx;
/lib/dns/resolver.c: 2846 in resquery_connected()
2840 fctx_cancelquery(query, NULL, false, false);
2841 fctx_done(fctx, eresult, __LINE__);
2842 break;
2843 }
2844
2845 detach:
CID 339071: (USE_AFTER_FREE)
Calling "resquery_detach" frees pointer "query" which has already been freed.
2846 resquery_detach(&query);
2847 }
2848
2849 static void
2850 fctx_finddone(isc_task_t *task, isc_event_t *event) {
2851 fetchctx_t *fctx;
/lib/dns/resolver.c: 2846 in resquery_connected()
2840 fctx_cancelquery(query, NULL, false, false);
2841 fctx_done(fctx, eresult, __LINE__);
2842 break;
2843 }
2844
2845 detach:
CID 339071: (USE_AFTER_FREE)
Calling "resquery_detach" frees pointer "query" which has already been freed.
2846 resquery_detach(&query);
2847 }
2848
2849 static void
2850 fctx_finddone(isc_task_t *task, isc_event_t *event) {
2851 fetchctx_t *fctx;
/lib/dns/resolver.c: 2846 in resquery_connected()
2840 fctx_cancelquery(query, NULL, false, false);
2841 fctx_done(fctx, eresult, __LINE__);
2842 break;
2843 }
2844
2845 detach:
CID 339071: (USE_AFTER_FREE)
Calling "resquery_detach" frees pointer "query" which has already been freed.
2846 resquery_detach(&query);
2847 }
2848
2849 static void
2850 fctx_finddone(isc_task_t *task, isc_event_t *event) {
2851 fetchctx_t *fctx;
** CID 339070: Memory - corruptions (USE_AFTER_FREE)
________________________________________________________________________________________________________
*** CID 339070: Memory - corruptions (USE_AFTER_FREE)
/lib/dns/request.c: 920 in request_cancel()
914
915 request->flags |= DNS_REQUEST_F_CANCELED;
916 request->flags &= ~DNS_REQUEST_F_CONNECTING;
917
918 if (request->dispentry != NULL) {
919 dns_dispatch_cancel(request->dispentry);
CID 339070: Memory - corruptions (USE_AFTER_FREE)
Calling "dns_dispatch_removeresponse" frees pointer "request->dispentry" which has already been freed.
920 dns_dispatch_removeresponse(&request->dispentry);
921 }
922
923 dns_dispatch_detach(&request->dispatch);
924 }
925 }
** CID 339069: (USE_AFTER_FREE)
/lib/dns/resolver.c: 1776 in resquery_senddone()
/lib/dns/resolver.c: 1776 in resquery_senddone()
________________________________________________________________________________________________________
*** CID 339069: (USE_AFTER_FREE)
/lib/dns/resolver.c: 1776 in resquery_senddone()
1770 fctx_cancelquery(query, NULL, false, false);
1771 fctx_done(fctx, eresult, __LINE__);
1772 break;
1773 }
1774
1775 detach:
CID 339069: (USE_AFTER_FREE)
Calling "resquery_detach" frees pointer "query" which has already been freed.
1776 resquery_detach(&query);
1777 }
1778
1779 static inline isc_result_t
1780 fctx_addopt(dns_message_t *message, unsigned int version, uint16_t udpsize,
1781 dns_ednsopt_t *ednsopts, size_t count) {
/lib/dns/resolver.c: 1776 in resquery_senddone()
1770 fctx_cancelquery(query, NULL, false, false);
1771 fctx_done(fctx, eresult, __LINE__);
1772 break;
1773 }
1774
1775 detach:
CID 339069: (USE_AFTER_FREE)
Calling "resquery_detach" frees pointer "query" which has already been freed.
1776 resquery_detach(&query);
1777 }
1778
1779 static inline isc_result_t
1780 fctx_addopt(dns_message_t *message, unsigned int version, uint16_t udpsize,
1781 dns_ednsopt_t *ednsopts, size_t count) {
** CID 339068: Memory - corruptions (USE_AFTER_FREE)
________________________________________________________________________________________________________
*** CID 339068: Memory - corruptions (USE_AFTER_FREE)
/lib/dns/resolver.c: 1397 in fctx_cancelquery()
1391 /*
1392 * Check for any outstanding dispatch responses and if they
1393 * exist, cancel them.
1394 */
1395 if (query->dispentry != NULL) {
1396 dns_dispatch_cancel(query->dispentry);
CID 339068: Memory - corruptions (USE_AFTER_FREE)
Calling "dns_dispatch_removeresponse" frees pointer "query->dispentry" which has already been freed.
1397 dns_dispatch_removeresponse(&query->dispentry);
1398 }
1399
1400 if (ISC_LINK_LINKED(query, link)) {
1401 ISC_LIST_UNLINK(fctx->queries, query, link);
1402 }