static inline void *subsession_user_copy(subsession_user_t dst, subsession_user_t src)
{
- return memcpy(dst, src, strnlen(src, sizeof(subsession_user_t)-1) + 1);
+ size_t copylen = strnlen(src, sizeof(subsession_user_t)-1) + 1;
+ size_t filllen = sizeof(subsession_user_t) - copylen;
+ assert(copylen + filllen == sizeof(subsession_user_t));
+ void *p = memcpy(dst, src, copylen);
+ memset(dst + copylen, 0, filllen);
+ return p;
}
static void signal_addremove_common_handler(GDBusConnection *connection,