Index: pycurl-openssl/src/pycurl.c
===================================================================
--- pycurl-openssl.orig/src/pycurl.c	2013-05-14 18:51:53.040481318 -0700
+++ pycurl-openssl/src/pycurl.c	2013-05-14 18:58:03.705278225 -0700
@@ -98,6 +98,9 @@
 #define OPTIONS_SIZE    ((int)CURLOPT_LASTENTRY % 10000)
 #define MOPTIONS_SIZE   ((int)CURLMOPT_LASTENTRY % 10000)
 
+/* Keep some default variables around */
+static const char g_pycurl_useragent[7 + sizeof(LIBCURL_VERSION) + 1];
+
 /* Type objects */
 static PyObject *ErrorObject = NULL;
 static PyTypeObject *p_Curl_Type = NULL;
@@ -780,14 +783,8 @@
     }
 
     /* Set default USERAGENT */
-    s = (char *) malloc(7 + strlen(LIBCURL_VERSION) + 1);
-    if (s == NULL) {
-        return (-1);
-    }
-    strcpy(s, "PycURL/"); strcpy(s+7, LIBCURL_VERSION);
-    res = curl_easy_setopt(self->handle, CURLOPT_USERAGENT, (char *) s);
+    res = curl_easy_setopt(self->handle, CURLOPT_USERAGENT, (char *) g_pycurl_useragent);
     if (res != CURLE_OK) {
-        free(s);
         return (-1);
     }
     return (0);
@@ -3953,6 +3950,9 @@
         assert(0);
     }
 
+    strcpy(g_pycurl_useragent, "PycURL/");
+    strcpy(g_pycurl_useragent+7, LIBCURL_VERSION);
+
     /* Initialize callback locks if ssl is enabled */
 #if defined(PYCURL_NEED_SSL_TSL)
     pycurl_ssl_init();
