Commit Diff


commit - 80b4aedc11325793331a7bffb46e32ae3f9af8ac
commit + 1e22e8e41463896755b37d45bf76e14683e30f94
blob - bf042317bc70afd1f8280c03ee3af5329b40f442
blob + 4ebe1ec89ba229d128f493ea63ff999baf07fb3c
--- src/libsunrpc/rpc.c
+++ src/libsunrpc/rpc.c
@@ -439,9 +439,10 @@ sunstringunpack(uchar *a, uchar *ea, uchar **pa, char 
 	if(sunvaropaqueunpack(a, ea, pa, &dat, &n, max) < 0)
 		goto Err;
 	/* slide string down over length to make room for NUL */
-	memmove(dat-1, dat, n);
-	dat[n-1] = 0;
-	*s = (char*)(dat-1);
+	dat--;
+	memmove(dat, dat+1, n);
+	dat[n] = 0;
+	*s = (char*)dat;
 	return 0;
 Err:
 	return -1;