diff options
author | Wesley Schwengle <wesleys@opperschaap.net> | 2022-10-17 13:13:13 +0900 |
---|---|---|
committer | Jun-ichi Takimoto <takimoto-j@kba.biglobe.ne.jp> | 2022-10-17 13:13:13 +0900 |
commit | 727b493e2b782fca0f3933865faa9a0a6ab1a2c4 (patch) | |
tree | ddfdb554448ca99bb924a39aa1963e96e1bffb8c /Src/Zle/compmatch.c | |
parent | b7f280ab597b07bbb22fb741589fe7754fc5cc0c (diff) | |
download | zsh-727b493e2b782fca0f3933865faa9a0a6ab1a2c4.tar.gz zsh-727b493e2b782fca0f3933865faa9a0a6ab1a2c4.tar.xz zsh-727b493e2b782fca0f3933865faa9a0a6ab1a2c4.zip |
50736: silence use-after-free warning (gcc-12.2)
Diffstat (limited to 'Src/Zle/compmatch.c')
-rw-r--r-- | Src/Zle/compmatch.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/Src/Zle/compmatch.c b/Src/Zle/compmatch.c index 56e5509a4..ddcecd589 100644 --- a/Src/Zle/compmatch.c +++ b/Src/Zle/compmatch.c @@ -2045,12 +2045,12 @@ join_strs(int la, char *sa, int lb, char *sb) zlelineasstring(line, mp->llen, 0, &convlen, NULL, 0); if (rr <= convlen) { - char *or = rs; + ptrdiff_t diff = rp - rs; int alloclen = (convlen > 20) ? convlen : 20; rs = realloc(rs, (rl += alloclen)); rr += alloclen; - rp += rs - or; + rp = rs + diff; } memcpy(rp, convstr, convlen); rp += convlen; @@ -2073,11 +2073,11 @@ join_strs(int la, char *sa, int lb, char *sb) } else { /* Same character, just take it. */ if (rr <= 1 /* HERE charlen */) { - char *or = rs; + ptrdiff_t diff = rp - rs; rs = realloc(rs, (rl += 20)); rr += 20; - rp += rs - or; + rp = rs + diff; } /* HERE: multibyte char */ *rp++ = *sa; |