diff --git a/criu/cr-restore.c b/criu/cr-restore.c index b4f8d9e75..c1dfc44f1 100644 --- a/criu/cr-restore.c +++ b/criu/cr-restore.c @@ -75,6 +75,7 @@ #include "sk-queue.h" #include "sigframe.h" #include "fdstore.h" +#include "string.h" #include "parasite-syscall.h" #include "files-reg.h" @@ -3142,7 +3143,7 @@ rst_prep_creds_args(CredsEntry *ce, unsigned long *prev_pos) args = rst_mem_remap_ptr(this_pos, RM_PRIVATE); args->lsm_profile = lsm_profile; - strncpy(args->lsm_profile, rendered, lsm_profile_len); + strlcpy(args->lsm_profile, rendered, lsm_profile_len + 1); xfree(rendered); } } else { @@ -3176,7 +3177,7 @@ rst_prep_creds_args(CredsEntry *ce, unsigned long *prev_pos) args = rst_mem_remap_ptr(this_pos, RM_PRIVATE); args->lsm_sockcreate = lsm_sockcreate; - strncpy(args->lsm_sockcreate, rendered, lsm_sockcreate_len); + strlcpy(args->lsm_sockcreate, rendered, lsm_sockcreate_len + 1); xfree(rendered); } } else {