emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master 6943786: Avoid undefined behaviour when copying part of structure


From: Andreas Schwab
Subject: master 6943786: Avoid undefined behaviour when copying part of structure
Date: Mon, 29 Nov 2021 04:31:01 -0500 (EST)

branch: master
commit 6943786b5c1fe76ea05a3a810512bd6777883710
Author: Andreas Schwab <schwab@linux-m68k.org>
Commit: Andreas Schwab <schwab@linux-m68k.org>

    Avoid undefined behaviour when copying part of structure
    
    * src/dispnew.c (copy_row_except_pointers): Don't use address of
    subobject as starting point.
---
 src/dispnew.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/dispnew.c b/src/dispnew.c
index f3f110a..a976bf9 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);
 }
 
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]