Return -1 for errors.
diff --git a/Objects/moduleobject.c b/Objects/moduleobject.c
index cf96a70..3d2cab2 100644
--- a/Objects/moduleobject.c
+++ b/Objects/moduleobject.c
@@ -107,7 +107,7 @@
 {
 	if (strcmp(name, "__dict__") == 0 || strcmp(name, "__name__") == 0) {
 		err_setstr(NameError, "can't assign to reserved member name");
-		return NULL;
+		return -1;
 	}
 	if (v == NULL)
 		return dictremove(m->md_dict, name);
diff --git a/Objects/object.c b/Objects/object.c
index f2b4d1f..4170267 100644
--- a/Objects/object.c
+++ b/Objects/object.c
@@ -157,7 +157,7 @@
 			err_setstr(TypeError, "attribute-less object");
 		else
 			err_setstr(TypeError, "object has read-only attributes");
-		return NULL;
+		return -1;
 	}
 	else {
 		return (*v->ob_type->tp_setattr)(v, name, w);