By running some C code we can compute the sizeof(struct sigaction)
and currently that is 152 bytes on Linux.
I suspect that we can obtain this directly by parsing the C header signals.h or more specifically bits/sigaction.h.
Nonetheless, the above approach will probably work. One might want to leave a buffer in case sigaction
has additional fields that are just zero valued.