--- a/src/pycurl.c
+++ a/src/pycurl.c
@@ -1452,6 +1452,7 @@ do_curl_reset(CurlObject *self)
}
}
+ Py_INCREF(Py_None);
return Py_None;
}
--- a/tests/test_internals.py
+++ a/tests/test_internals.py
@@ -245,6 +245,11 @@ if 1 and gc:
if opts.verbose >= 1:
print "Tracked objects:", len(gc.get_objects())
+if 1:
+ # Ensure that the refcounting error in "reset" is fixed:
+ for i in xrange(100000):
+ c = Curl()
+ c.reset()
# /***********************************************************************
# // done