Преглед изворни кода

Bluetooth: hidp: using strlcpy instead of strncpy, also beautify code.

For NULL terminated string, need always let it ended by zero.

Since have already called memcpy() to initialize 'ci', so need not
redundant initialization.

Better use ''if(session->hid) {} else if(session->input) {}"" instead
of ''if(session->hid) {}; if(session->input) {};''

Signed-off-by: Chen Gang <gang.chen@asianux.com>
Reviewed-by: David Herrmann <dh.herrmann@gmail.com>
Acked-by: Jiri Kosina <jkosina@suse.cz>
Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
Chen Gang пре 12 година
родитељ
комит
673e1dd7ed
1 измењених фајлова са 4 додато и 10 уклоњено
  1. 4 10
      net/bluetooth/hidp/core.c

+ 4 - 10
net/bluetooth/hidp/core.c

@@ -76,25 +76,19 @@ static void hidp_copy_session(struct hidp_session *session, struct hidp_conninfo
 	ci->flags = session->flags;
 	ci->flags = session->flags;
 	ci->state = BT_CONNECTED;
 	ci->state = BT_CONNECTED;
 
 
-	ci->vendor  = 0x0000;
-	ci->product = 0x0000;
-	ci->version = 0x0000;
-
 	if (session->input) {
 	if (session->input) {
 		ci->vendor  = session->input->id.vendor;
 		ci->vendor  = session->input->id.vendor;
 		ci->product = session->input->id.product;
 		ci->product = session->input->id.product;
 		ci->version = session->input->id.version;
 		ci->version = session->input->id.version;
 		if (session->input->name)
 		if (session->input->name)
-			strncpy(ci->name, session->input->name, 128);
+			strlcpy(ci->name, session->input->name, 128);
 		else
 		else
-			strncpy(ci->name, "HID Boot Device", 128);
-	}
-
-	if (session->hid) {
+			strlcpy(ci->name, "HID Boot Device", 128);
+	} else if (session->hid) {
 		ci->vendor  = session->hid->vendor;
 		ci->vendor  = session->hid->vendor;
 		ci->product = session->hid->product;
 		ci->product = session->hid->product;
 		ci->version = session->hid->version;
 		ci->version = session->hid->version;
-		strncpy(ci->name, session->hid->name, 128);
+		strlcpy(ci->name, session->hid->name, 128);
 	}
 	}
 }
 }