If the strncpy size equals the string size, the result will not be null-terminated. Call the already-existing strncpyterm which ensures proper termination. Signed-off-by: Frank Sorenson <sorenson@xxxxxxxxxx> --- restore/content.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/restore/content.c b/restore/content.c index 5e30f08..4c4d6ec 100644 --- a/restore/content.c +++ b/restore/content.c @@ -5081,7 +5081,7 @@ pi_insertfile(ix_t drivecnt, && ! DH2O(objh)->o_idlabvalpr) { uuid_copy(DH2O(objh)->o_id, *mediaidp); - strncpy(DH2O(objh)->o_lab, + strncpyterm(DH2O(objh)->o_lab, medialabel, sizeof(DH2O(objh)->o_lab)); DH2O(objh)->o_idlabvalpr = BOOL_TRUE; @@ -5111,7 +5111,7 @@ pi_insertfile(ix_t drivecnt, && ! DH2O(prevobjh)->o_idlabvalpr) { uuid_copy(DH2O(prevobjh)->o_id, *prevmediaidp); - strncpy(DH2O(prevobjh)->o_lab, + strncpyterm(DH2O(prevobjh)->o_lab, prevmedialabel, sizeof(DH2O(prevobjh)->o_lab)); DH2O(prevobjh)->o_idlabvalpr = BOOL_TRUE; @@ -5581,7 +5581,7 @@ pi_transcribe(inv_session_t *sessp) fileszvalpr, filep->m_size); uuid_copy(lastobjid, filep->m_moid); - strncpy(lastobjlabel, + strncpyterm(lastobjlabel, filep->m_label, sizeof(lastobjlabel)); dumpmediafileix++; @@ -6749,7 +6749,7 @@ addobj(bag_t *bagp, bagobjp = (bagobj_t *)calloc(1, sizeof(bagobj_t)); assert(bagobjp); uuid_copy(bagobjp->id, *idp); - strncpy(bagobjp->label, + strncpyterm(bagobjp->label, label, sizeof(bagobjp->label)); bagobjp->indrivepr = indrivepr; -- 2.20.1