99db232
diff --git a/src/cmd/ksh93/sh/name.c b/src/cmd/ksh93/sh/name.c
99db232
--- a/src/cmd/ksh93/sh/name.c
99db232
+++ b/src/cmd/ksh93/sh/name.c
99db232
@@ -1425,7 +1425,7 @@ Namval_t *nv_open(const char *name, Dt_t *root, int flags)
99db232
 	{
99db232
 		if(xp->root!=root)
99db232
 			continue;
99db232
-		if(*name==*xp->name && xp->namespace==shp->namespace && (flags&(NV_ARRAY|NV_NOSCOPE))==xp->flags && memcmp(xp->name,name,xp->len)==0 && (name[xp->len]==0 || name[xp->len]=='=' || name[xp->len]=='+'))
99db232
+		if(*name==*xp->name && xp->namespace==shp->namespace && (flags&(NV_ARRAY|NV_NOSCOPE))==xp->flags && strncmp(xp->name,name,xp->len)==0 && (name[xp->len]==0 || name[xp->len]=='=' || name[xp->len]=='+'))
99db232
 		{
99db232
 			sh_stats(STAT_NVHITS);
99db232
 			np = xp->np;