Fix strncpy in taskq_create

Assign the copy length to TASKQ_NAMELEN, so if the name length equals
'TASKQ_NAMELEN+1' , the final '\0' of tq->tq_name is preserved.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: candychencan <chen.can2@zte.com.cn>
Closes #5136
This commit is contained in:
candychencan 2016-09-21 02:27:15 +08:00 committed by Brian Behlendorf
parent 792517389f
commit d2a6f65cfb
1 changed files with 1 additions and 1 deletions

View File

@ -268,7 +268,7 @@ taskq_create(const char *name, int nthreads, pri_t pri,
cv_init(&tq->tq_dispatch_cv, NULL, CV_DEFAULT, NULL); cv_init(&tq->tq_dispatch_cv, NULL, CV_DEFAULT, NULL);
cv_init(&tq->tq_wait_cv, NULL, CV_DEFAULT, NULL); cv_init(&tq->tq_wait_cv, NULL, CV_DEFAULT, NULL);
cv_init(&tq->tq_maxalloc_cv, NULL, CV_DEFAULT, NULL); cv_init(&tq->tq_maxalloc_cv, NULL, CV_DEFAULT, NULL);
(void) strncpy(tq->tq_name, name, TASKQ_NAMELEN + 1); (void) strncpy(tq->tq_name, name, TASKQ_NAMELEN);
tq->tq_flags = flags | TASKQ_ACTIVE; tq->tq_flags = flags | TASKQ_ACTIVE;
tq->tq_active = nthreads; tq->tq_active = nthreads;
tq->tq_nthreads = nthreads; tq->tq_nthreads = nthreads;