sign extension bug
diff --git a/src/libsunrpc/rpc.c b/src/libsunrpc/rpc.c
index bf04231..4ebe1ec 100644
--- a/src/libsunrpc/rpc.c
+++ b/src/libsunrpc/rpc.c
@@ -439,9 +439,10 @@
 	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;