Linux Container Development
 help / color / mirror / Atom feed
* [PATCH 1/2] Avoid memcpy overruns in fill|load_sigset()
@ 2009-11-13 23:05 Matt Helsley
       [not found] ` <41033d2ce4f31d016400bde1c5d393ae6f6b856a.1258153503.git.matthltc-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
  0 siblings, 1 reply; 6+ messages in thread
From: Matt Helsley @ 2009-11-13 23:05 UTC (permalink / raw)
  To: Oren Laadan; +Cc: containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA

Only copy the minimum size of the two structs. I believe gcc
will recognize that these are constants so the resulting code
should be the same size and just as fast.

Signed-off-by: Matt Helsley <matthltc-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
---
 checkpoint/signal.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/checkpoint/signal.c b/checkpoint/signal.c
index 989b974..c65ee00 100644
--- a/checkpoint/signal.c
+++ b/checkpoint/signal.c
@@ -22,12 +22,12 @@
 
 static inline void fill_sigset(struct ckpt_sigset *h, sigset_t *sigset)
 {
-	memcpy(&h->sigset, sigset, sizeof(*sigset));
+	memcpy(&h->sigset, sigset, min(sizeof(*h), sizeof(*sigset)));
 }
 
 static inline void load_sigset(sigset_t *sigset, struct ckpt_sigset *h)
 {
-	memcpy(sigset, &h->sigset, sizeof(*sigset));
+	memcpy(sigset, &h->sigset, min(sizeof(*h), sizeof(*sigset)));
 }
 
 /***********************************************************************
-- 
1.6.3.3

^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2009-11-17 22:45 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-11-13 23:05 [PATCH 1/2] Avoid memcpy overruns in fill|load_sigset() Matt Helsley
     [not found] ` <41033d2ce4f31d016400bde1c5d393ae6f6b856a.1258153503.git.matthltc-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2009-11-13 23:05   ` [PATCH 2/2] [RFC] checkpoint/restart signalfd Matt Helsley
     [not found]     ` <aa65242a98bf851a1d8432dd21850391c91607cf.1258153503.git.matthltc-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2009-11-16  4:01       ` Matt Helsley
     [not found]         ` <20091116040129.GJ891-52DBMbEzqgQ/wnmkkaCWp/UQ3DHhIser@public.gmane.org>
2009-11-16 18:46           ` Oren Laadan
2009-11-16 18:43   ` [PATCH 1/2] Avoid memcpy overruns in fill|load_sigset() Oren Laadan
     [not found]     ` <4B019D49.7040603-eQaUEPhvms7ENvBUuze7eA@public.gmane.org>
2009-11-17 22:45       ` Matt Helsley

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox