coverity fixes
[m6w6/ext-http] / src / php_http_client_curl_user.c
index a30d666098489d81559aece92aee42247163fd38..d345e27e96bc30b2d7c985038073a011b885b9e5 100644 (file)
@@ -29,6 +29,7 @@ static void php_http_client_curl_user_handler(INTERNAL_FUNCTION_PARAMETERS)
        long action = 0;
        php_socket_t fd = CURL_SOCKET_TIMEOUT;
        php_http_client_object_t *client = NULL;
+       php_http_client_curl_t *curl;
 
        if (SUCCESS != zend_parse_parameters(ZEND_NUM_ARGS(), "O|rl", &zclient, php_http_client_get_class_entry(), &zstream, &action)) {
                return;
@@ -43,6 +44,9 @@ static void php_http_client_curl_user_handler(INTERNAL_FUNCTION_PARAMETERS)
                }
        }
        php_http_client_curl_loop(client->client, fd, action);
+
+       curl = client->client->ctx;
+       RETVAL_LONG(curl->unfinished);
 }
 
 static void php_http_client_curl_user_timer(CURLM *multi, long timeout_ms, void *timer_data)
@@ -102,7 +106,7 @@ static int php_http_client_curl_user_socket(CURL *easy, curl_socket_t sock, int
                        return -1;
        }
 
-       if (action == CURL_POLL_REMOVE && ev) {
+       if (action == CURL_POLL_REMOVE) {
                php_stream_close(ev->socket);
                efree(ev);
                curl_multi_assign(curl->handle->multi, sock, NULL);
@@ -256,7 +260,8 @@ zend_class_entry *php_http_client_curl_user_get_class_entry()
 }
 
 ZEND_BEGIN_ARG_INFO_EX(ai_init, 0, 0, 1)
-       ZEND_ARG_TYPE_INFO(0, run, IS_CALLABLE, 0)
+       /* using IS_CALLABLE type hint would create a forwards compatibility break */
+       ZEND_ARG_INFO(0, run)
 ZEND_END_ARG_INFO();
 ZEND_BEGIN_ARG_INFO_EX(ai_timer, 0, 0, 1)
 #if PHP_VERSION_ID >= 70000