diff options
author | Andreas Schwab <schwab@linux-m68k.org> | 2021-11-29 10:29:40 +0100 |
---|---|---|
committer | Eli Zaretskii <eliz@gnu.org> | 2021-11-29 14:45:40 +0200 |
commit | de9d27f679d5e040c0ed4b974bc9225f6a330852 (patch) | |
tree | faa6d8285a9561987b6d701474d03984fc414484 /src/dispnew.c | |
parent | c4daff9cf844ec85930bdcd2064787c92c260861 (diff) | |
download | emacs-de9d27f679d5e040c0ed4b974bc9225f6a330852.tar.gz emacs-de9d27f679d5e040c0ed4b974bc9225f6a330852.tar.bz2 emacs-de9d27f679d5e040c0ed4b974bc9225f6a330852.zip |
Avoid undefined behaviour when copying part of structure
* src/dispnew.c (copy_row_except_pointers): Don't use address of
subobject as starting point.
(cherry picked from commit 6943786b5c1fe76ea05a3a810512bd6777883710)
Diffstat (limited to 'src/dispnew.c')
-rw-r--r-- | src/dispnew.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/dispnew.c b/src/dispnew.c index 53eb8984747..4a9f2bae44b 100644 --- a/src/dispnew.c +++ b/src/dispnew.c @@ -1034,7 +1034,7 @@ copy_row_except_pointers (struct glyph_row *to, struct glyph_row *from) { enum { off = offsetof (struct glyph_row, x) }; - memcpy (&to->x, &from->x, sizeof *to - off); + memcpy ((char *) to + off, (char *) from + off, sizeof *to - off); } |