summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com>2022-11-24 14:35:47 +0100
committerManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com>2022-11-24 14:35:47 +0100
commitbe0f06e79116f8dae021be112963fdfac2fec74f (patch)
tree95ef2c771aa0fc4b2eda59feeb939ed011674b1f
parentc1ba9f31ec3a1a53a1d257068f50a7be52f995c3 (diff)
Remove two "warning: pointer xxx used after void* realloc()" messages
-rw-r--r--src/Fl_SVG_Image.cxx6
-rw-r--r--src/fl_draw.cxx11
2 files changed, 9 insertions, 8 deletions
diff --git a/src/Fl_SVG_Image.cxx b/src/Fl_SVG_Image.cxx
index 7c8a6ff12..ca52a55f7 100644
--- a/src/Fl_SVG_Image.cxx
+++ b/src/Fl_SVG_Image.cxx
@@ -119,9 +119,9 @@ static char *svg_inflate(gzFile gzf, // can be a file or the read end of a pipe
do {
if (is_compressed && p + size > out + out_size) {
out_size += size;
- char *tmp = (char*)realloc(out, out_size + 1);
- p = tmp + (p - out);
- out = tmp;
+ unsigned delta = (p - out);
+ out = (char*)realloc(out, out_size + 1);
+ p = out + delta;
}
if ( fdwrite >= 0 && Fl::system_driver()->write_nonblocking_fd(fdwrite, bytes, rest_bytes) ) {
free(out);
diff --git a/src/fl_draw.cxx b/src/fl_draw.cxx
index 468d03251..d5395c369 100644
--- a/src/fl_draw.cxx
+++ b/src/fl_draw.cxx
@@ -79,11 +79,12 @@ static const char* expand_text_(const char* from, char*& buf, int maxbuf, double
if (o > e) {
if (maxbuf) break; // don't overflow buffer
l_local_buff += int(o - e) + 200; // enlarge buffer
- buf = (char*)realloc(local_buf, l_local_buff);
- e = buf + l_local_buff - 4; // update pointers to buffer content
- o = buf + (o - local_buf);
- word_end = buf + (word_end - local_buf);
- local_buf = buf;
+ unsigned delta_o = (o - local_buf);
+ unsigned delta_end = (word_end - local_buf);
+ local_buf = (char*)realloc(local_buf, l_local_buff);
+ e = local_buf + l_local_buff - 4; // update pointers to buffer content
+ o = local_buf + delta_o;
+ word_end = local_buf + delta_end;
}
if (c == '\t') {