Make CObjects mutable. Fixes #477441.
diff --git a/Objects/cobject.c b/Objects/cobject.c
index eed906a..5a6be43 100644
--- a/Objects/cobject.c
+++ b/Objects/cobject.c
@@ -99,6 +99,20 @@
     return r;
 }
 
+int
+PyCObject_SetVoidPtr(PyObject *_self, void *cobj)
+{
+    PyCObject* self = (PyCObject*)_self;
+    if (self == NULL || !PyCObject_Check(self) ||
+	self->destructor != NULL) {
+	PyErr_SetString(PyExc_TypeError, 
+			"Invalid call to PyCObject_SetVoidPtr");
+	return 0;
+    }
+    self->cobject = cobj;
+    return 1;
+}
+
 static void
 PyCObject_dealloc(PyCObject *self)
 {