#3946 fix PyObject_CheckBuffer on a memoryview object

reviewed by Antoine
diff --git a/Objects/abstract.c b/Objects/abstract.c
index 39cb803..aee20d6 100644
--- a/Objects/abstract.c
+++ b/Objects/abstract.c
@@ -268,16 +268,16 @@
 PyObject_CheckReadBuffer(PyObject *obj)
 {
 	PyBufferProcs *pb = obj->ob_type->tp_as_buffer;
+	Py_buffer view;
 
 	if (pb == NULL ||
 	    pb->bf_getbuffer == NULL)
 		return 0;
-	if ((*pb->bf_getbuffer)(obj, NULL, PyBUF_SIMPLE) == -1) {
+	if ((*pb->bf_getbuffer)(obj, &view, PyBUF_SIMPLE) == -1) {
 		PyErr_Clear();
 		return 0;
 	}
-	if (*pb->bf_releasebuffer != NULL)
-		(*pb->bf_releasebuffer)(obj, NULL);
+	PyBuffer_Release(&view);
 	return 1;
 }