More bug #1077106 stuff, sorry -- modem induced impatiece!

This should go on whatever bugfix branches the other fetches up on.
diff --git a/Misc/NEWS b/Misc/NEWS
index 92d9422..926ac52 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -21,6 +21,8 @@
 
 - set and frozenset objects can now be marshalled.  SF #1098985.
 
+- Bug #1077106: Poor argument checking could cause memory corruption
+  in calls to os.read().
 
 Extension Modules
 -----------------
diff --git a/Objects/stringobject.c b/Objects/stringobject.c
index b8e5f41..b90221a 100644
--- a/Objects/stringobject.c
+++ b/Objects/stringobject.c
@@ -52,6 +52,7 @@
 PyString_FromStringAndSize(const char *str, int size)
 {
 	register PyStringObject *op;
+	assert(size >= 0);
 	if (size == 0 && (op = nullstring) != NULL) {
 #ifdef COUNT_ALLOCS
 		null_strings++;