summaryrefslogtreecommitdiff
path: root/www/p5-Net-Curl/files/patch-Curl__Multi.xsh
blob: abd309296ba73801671b8f6fafa36a8c25563bb9 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
--- Curl_Multi.xsh.orig	2021-05-12 05:52:08 UTC
+++ Curl_Multi.xsh
@@ -66,9 +66,21 @@ cb_multi_socket( CURL *easy_handle, curl_socket_t s, i
 	perl_curl_multi_t *multi;
 	perl_curl_easy_t *easy;
 
+	/* Check if userptr is NULL */
+	if (!userptr) {
+		return -1;
+	}
 	multi = (perl_curl_multi_t *) userptr;
 
-	(void) curl_easy_getinfo( easy_handle, CURLINFO_PRIVATE, (void *) &easy );
+	CURLcode res = curl_easy_getinfo( easy_handle, CURLINFO_PRIVATE, (void *) &easy );
+	if (res != CURLE_OK || !easy) {
+		return -1;
+	}
+
+	/* Check if the callback is set */
+	if (multi->cb[CB_MULTI_SOCKET].func == NULL) {
+		return -1;
+	}
 
 	/* $multi, $easy, $socket, $what, $socketdata, $userdata */
 	SV *args[] = {