diff --git a/usr.bin/rs/rs.c b/usr.bin/rs/rs.c --- a/usr.bin/rs/rs.c +++ b/usr.bin/rs/rs.c @@ -43,6 +43,7 @@ #include #include #include +#include #include #include #include @@ -370,13 +371,15 @@ getptrs(char **sp) { char **p; + ptrdiff_t offset; + offset = sp - elem; allocsize += allocsize; p = (char **)realloc(elem, allocsize * sizeof(char *)); if (p == NULL) err(1, "no memory"); - sp += (p - elem); + sp = p + offset; endelem = (elem = p) + allocsize; return(sp); }