Use getstringsize where available instead of strlen.
diff --git a/Objects/classobject.c b/Objects/classobject.c
index 191b556..9b12d18 100644
--- a/Objects/classobject.c
+++ b/Objects/classobject.c
@@ -550,7 +550,7 @@
 	if (sname[0] == '_' && sname[1] == '_'
 	    && (strcmp(sname, "__dict__") == 0 ||
 		strcmp(sname, "__class__") == 0)) {
-	        int n = strlen(sname);
+	        int n = getstringsize(name);
 		if (sname[n-1] == '_' && sname[n-2] == '_') {
 			err_setstr(TypeError, "read-only special attribute");
 			return -1;