From f7015ff83f10f448cf352eb446408cd65036b906 Mon Sep 17 00:00:00 2001 From: jiang-xiaowen-psh Date: Thu, 16 May 2024 17:36:45 +0900 Subject: [PATCH] Fix wrong cb parameter in `cupsConnectDest()` and return NULL pointer if connection cannnot be established --- cups/dest.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/cups/dest.c b/cups/dest.c index 103e878bbd..e9074f4901 100644 --- a/cups/dest.c +++ b/cups/dest.c @@ -647,12 +647,17 @@ cupsConnectDest( if (cb) (*cb)(user_data, CUPS_DEST_FLAGS_UNCONNECTED | CUPS_DEST_FLAGS_CONNECTING, dest); - if (!httpReconnect2(http, msec, cancel) && cb) + if (httpReconnect2(http, msec, cancel)) { - if (cancel && *cancel) - (*cb)(user_data, CUPS_DEST_FLAGS_UNCONNECTED | CUPS_DEST_FLAGS_CONNECTING, dest); - else - (*cb)(user_data, CUPS_DEST_FLAGS_UNCONNECTED | CUPS_DEST_FLAGS_ERROR, dest); + if (cb) + { + if (cancel && *cancel) + (*cb)(user_data, CUPS_DEST_FLAGS_UNCONNECTED | CUPS_DEST_FLAGS_CONNECTING, dest); + else + (*cb)(user_data, CUPS_DEST_FLAGS_UNCONNECTED | CUPS_DEST_FLAGS_ERROR, dest); + } + httpClose(http); + return (NULL); } else if (cb) (*cb)(user_data, CUPS_DEST_FLAGS_NONE, dest); -- 2.47.2