From 50a9aef1799dbb8f2070903fc0eb6d7c512d7170 Mon Sep 17 00:00:00 2001 From: ptitSeb Date: Sun, 24 Apr 2022 15:14:06 +0200 Subject: Fixed a potential issue with stack overwritten on sigaction call --- src/libtools/signals.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/libtools') diff --git a/src/libtools/signals.c b/src/libtools/signals.c index 697296b5..92f973b4 100755 --- a/src/libtools/signals.c +++ b/src/libtools/signals.c @@ -1233,7 +1233,7 @@ int EXPORT my_syscall_rt_sigaction(x64emu_t* emu, int signum, const x64_sigactio ret = sigaction(signum, act?&newact:NULL, oldact?&old:NULL); if(oldact && ret==0) { oldact->sa_flags = old.sa_flags; - oldact->sa_mask = old.sa_mask; + memcpy(&oldact->sa_mask, &old.sa_mask, (sigsetsize>8)?8:sigsetsize); if(old.sa_flags & 0x04) oldact->_u._sa_sigaction = old.sa_sigaction; //TODO should wrap... else -- cgit 1.4.1