aboutsummaryrefslogtreecommitdiffstats
path: root/block/elevator.c
diff options
context:
space:
mode:
authorLi Zefan <lizf@cn.fujitsu.com>2008-10-14 02:49:56 -0400
committerJens Axboe <jens.axboe@oracle.com>2008-10-17 02:46:57 -0400
commitee2e992cc28553f6c4dd1ab5483c8733c393626b (patch)
tree1947e8cb26f1018c20f89db93e06698cc17353f5 /block/elevator.c
parente6d63840ba55ffd3a79aea6792aac6f29f338083 (diff)
block: simplify string handling in elv_iosched_store()
strlcpy() guarantees the dest buffer is NULL teminated. Signed-off-by: Li Zefan <lizf@cn.fujitsu.com> Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Diffstat (limited to 'block/elevator.c')
-rw-r--r--block/elevator.c9
1 files changed, 2 insertions, 7 deletions
diff --git a/block/elevator.c b/block/elevator.c
index 04518921db31..9482ffa1aae6 100644
--- a/block/elevator.c
+++ b/block/elevator.c
@@ -1166,15 +1166,10 @@ ssize_t elv_iosched_store(struct request_queue *q, const char *name,
1166 size_t count) 1166 size_t count)
1167{ 1167{
1168 char elevator_name[ELV_NAME_MAX]; 1168 char elevator_name[ELV_NAME_MAX];
1169 size_t len;
1170 struct elevator_type *e; 1169 struct elevator_type *e;
1171 1170
1172 elevator_name[sizeof(elevator_name) - 1] = '\0'; 1171 strlcpy(elevator_name, name, sizeof(elevator_name));
1173 strncpy(elevator_name, name, sizeof(elevator_name) - 1); 1172 strstrip(elevator_name);
1174 len = strlen(elevator_name);
1175
1176 if (len && elevator_name[len - 1] == '\n')
1177 elevator_name[len - 1] = '\0';
1178 1173
1179 e = elevator_get(elevator_name); 1174 e = elevator_get(elevator_name);
1180 if (!e) { 1175 if (!e) {