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++;