cURL cURL > Mailing List > Monthly Index > Single Mail

curl-tracker Archives

[curl:bugs] #1463 libCurl crashes the program by throwing SSL read: error:00000000:lib(0):func(0):reason(0), errno 110".

From: kritpal singh <kritpalsingh_at_users.sf.net>
Date: Fri, 12 Dec 2014 06:19:07 +0000

It is glibc but its not segfault otherwise my SignalHandler will caught it.
Its not possible to put strace on that platform because on openwrt platform because it doesn't have enough memory.
I think you are right somewhere it calling exit so that's why my code doesn't get any signal or exception.

---
** [bugs:#1463] libCurl crashes the program by throwing SSL read: error:00000000:lib(0):func(0):reason(0), errno 110".**
**Status:** open
**Labels:** errno 110 SSL/TLS openssl 
**Created:** Tue Dec 09, 2014 12:18 PM UTC by kritpal singh
**Last Updated:** Wed Dec 10, 2014 09:47 AM UTC
**Owner:** Daniel Stenberg
**libcurl version** - 7.38.0
**platform** - openwrt arm7 
**protocol** - https 
**program code snippet**
if (curl) {
   curl_easy_setopt(curl, CURLOPT_VERBOSE, 1);
   curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0);
   curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0);
   curl_easy_setopt(curl, CURLOPT_TIMEOUT, 30);
   curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, read_data);
   //url_easy_setopt(curl, CURLOPT_WRITEDATA, client);
   curl_easy_setopt(curl, CURLOPT_URL, "https://***.com:1027/page");  
   curl_easy_setopt(curl, CURLOPT_HTTPPOST, formpost);
   curl_easy_setopt(curl, CURLOPT_NOSIGNAL, 0);
   printf("sending perform request\n");
   try{
   res = curl_easy_perform(curl); // Perform the request, res will get the return code 
   printf("%s",curl_easy_strerror(res));
   }catch(int e){
       printf("catch the error\n");
       fflush(stdout);
   }
   printf("perform done");
   if (res != CURLE_OK) { /* Check for errors */
       fprintf(stderr, "curl_easy_perform() failed: %s\n",
               curl_easy_strerror(res));
       printf(" Uploading failed \n");
       fflush(stdout);
       result = 0;
   }
And i tried with this as well 
    curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 2);
    curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, true);
    curl_easy_setopt(curl, CURLOPT_CAINFO, "/server.cer");
**Output **
sending perform request
> POST /send_log HTTP/1.1
Host: cloud.securifi.com:1027
Accept: */*
Content-Length: 1028775
Expect: 100-continue
Content-Type: multipart/form-data; boundary=----------------------------d7460292fcc7
< HTTP/1.1 100 Continue
* SSL read: error:00000000:lib(0):func(0):reason(0), errno 110
---
Sent from sourceforge.net because curl-tracker@cool.haxx.se is subscribed to https://sourceforge.net/p/curl/bugs/
To unsubscribe from further messages, a project admin can change settings at https://sourceforge.net/p/curl/admin/bugs/options.  Or, if this is a mailing list, you can unsubscribe from the mailing list.
Received on 2014-12-12

These mail archives are generated by hypermail.