From 662390681e94fd4437ee000d23d042a0135aa234 Mon Sep 17 00:00:00 2001
From: Neal Norwitz <nnorwitz@gmail.com>
Date: Mon, 4 Nov 2002 23:21:09 +0000
Subject: [PATCH] SF #633013, Fix NIS causing interpreter core dump

Prevent the lengths passed to PyString_FromStringAndSize()
from being negative in some cases.
---
 Modules/nismodule.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/Modules/nismodule.c b/Modules/nismodule.c
index f66e9a1cc67..0a38ee85c5a 100644
--- a/Modules/nismodule.c
+++ b/Modules/nismodule.c
@@ -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);
-- 
2.30.9