Backport 52501:
Add some asserts.  In sysmodule, I think these were to try to silence
some warnings from Klokwork.  They verify the assumptions of the format
of svn version output.

The assert in the thread module helped debug a problem on HP-UX.
diff --git a/Modules/threadmodule.c b/Modules/threadmodule.c
index 448b11c..036619a 100644
--- a/Modules/threadmodule.c
+++ b/Modules/threadmodule.c
@@ -25,6 +25,7 @@
 static void
 lock_dealloc(lockobject *self)
 {
+	assert(self->lock_lock);
 	/* Unlock the lock so it's safe to free it */
 	PyThread_acquire_lock(self->lock_lock, 0);
 	PyThread_release_lock(self->lock_lock);
diff --git a/Python/sysmodule.c b/Python/sysmodule.c
index 6fbaba5..4970adf 100644
--- a/Python/sysmodule.c
+++ b/Python/sysmodule.c
@@ -983,6 +983,8 @@
 
 	br_start = python + 8;
 	br_end = strchr(br_start, '/');
+	assert(br_end);
+
 	/* Works even for trunk,
 	   as we are in trunk/Python/sysmodule.c */
 	br_end2 = strchr(br_end+1, '/');
@@ -995,6 +997,8 @@
 	}
 	else if (istag || strncmp(br_start, "branches", 8) == 0) {
 		len = br_end2 - br_start;
+		assert(len >= 13);
+		assert(len < (sizeof(patchlevel_revision) - 13));
 		strncpy(branch, br_start, len);
 		branch[len] = '\0';