ash: refresh stack pointers after makestrspace in rmescapes
No binary (build failed)
—
(log yok)
| @@ -5425,7 +5425,11 @@ rmescapes(char *str, int flag) | |
| size_t fulllen = len + strlen(p) + 1; | |
| if (flag & RMESCAPE_GROW) { | |
| + | int strloc = str - (char *)stackblock(); |
| r = makestrspace(fulllen, expdest); | |
| + | /* p and str may be invalidated by makestrspace */ |
| + | str = (char *)stackblock() + strloc; |
| + | p = str + len; |
| } else if (flag & RMESCAPE_HEAP) { | |
| r = ckmalloc(fulllen); | |
| } else { | |