]> granicus.if.org Git - python/commitdiff
SF #633013, Fix NIS causing interpreter core dump
authorNeal Norwitz <nnorwitz@gmail.com>
Mon, 4 Nov 2002 23:21:09 +0000 (23:21 +0000)
committerNeal Norwitz <nnorwitz@gmail.com>
Mon, 4 Nov 2002 23:21:09 +0000 (23:21 +0000)
Prevent the lengths passed to PyString_FromStringAndSize()
from being negative in some cases.

Modules/nismodule.c

index f66e9a1cc67f1ee05caad14239de0cdaa7f5ed21..0a38ee85c5a34c70c0be5969e4cb58c9a6fcdbc0 100644 (file)
@@ -85,8 +85,10 @@ nis_foreach (int instatus, char *inkey, int inkeylen, char *inval,
                int err;
 
                if (indata->fix) {
-                   inkeylen--;
-                   invallen--;
+                   if (inkeylen > 0 && inkey[inkeylen-1] == '\0')
+                       inkeylen--;
+                   if (invallen > 0 && inval[invallen-1] == '\0')
+                       invallen--;
                }
                key = PyString_FromStringAndSize(inkey, inkeylen);
                val = PyString_FromStringAndSize(inval, invallen);