Fix #3651  various memory leaks when using the buffer interface

by Amaury Forgeot d'Arc
Reviewer: Antoine Pitrou
diff --git a/Objects/abstract.c b/Objects/abstract.c
index ac61011..39cb803 100644
--- a/Objects/abstract.c
+++ b/Objects/abstract.c
@@ -260,6 +260,7 @@
 	*buffer_len = view.len;
 	if (pb->bf_releasebuffer != NULL)
 		(*pb->bf_releasebuffer)(obj, &view);
+	Py_XDECREF(view.obj);
 	return 0;
 }
 
@@ -305,6 +306,7 @@
 	*buffer_len = view.len;
 	if (pb->bf_releasebuffer != NULL)
 		(*pb->bf_releasebuffer)(obj, &view);
+	Py_XDECREF(view.obj);
 	return 0;
 }
 
@@ -332,6 +334,7 @@
 	*buffer_len = view.len;
 	if (pb->bf_releasebuffer != NULL)
 		(*pb->bf_releasebuffer)(obj, &view);
+	Py_XDECREF(view.obj);
 	return 0;
 }