]> git.ipfire.org Git - thirdparty/cups.git/commitdiff
Fix wrong cb parameter in `cupsConnectDest()` and return NULL pointer if connection... 960/head
authorjiang-xiaowen-psh <xiaowen.jiang@cn.ricoh.com>
Thu, 16 May 2024 08:36:45 +0000 (17:36 +0900)
committerjiang-xiaowen-psh <xiaowen.jiang@cn.ricoh.com>
Thu, 16 May 2024 08:36:45 +0000 (17:36 +0900)
cups/dest.c

index 103e878bbd2de7103575a85d76b0df09d85f09e7..e9074f49010ce6bfc6213f0828d32fb46183636a 100644 (file)
@@ -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);