]> granicus.if.org Git - python/commitdiff
Check return value of PyLong_FromLong(X509_get_version()). It might be NULL if
authorChristian Heimes <christian@cheimes.de>
Fri, 26 Jul 2013 13:51:18 +0000 (15:51 +0200)
committerChristian Heimes <christian@cheimes.de>
Fri, 26 Jul 2013 13:51:18 +0000 (15:51 +0200)
X509_get_version() grows beyond our small int cache.
CID 1058279

Modules/_ssl.c

index 434729fa9ab1d9bd72bbfe62490eb2ee8bd5be3d..848b9621b4ed88ba4ad81cb913a9fe30243c9f3a 100644 (file)
@@ -903,6 +903,8 @@ _decode_certificate(X509 *certificate) {
     Py_DECREF(issuer);
 
     version = PyLong_FromLong(X509_get_version(certificate) + 1);
+    if (version == NULL)
+        goto fail0;
     if (PyDict_SetItemString(retval, "version", version) < 0) {
         Py_DECREF(version);
         goto fail0;