|
@@ -415,8 +415,8 @@ EXPORT_SYMBOL_GPL(smscore_get_board_id);
|
|
|
|
|
|
struct smscore_registry_entry_t {
|
|
struct smscore_registry_entry_t {
|
|
struct list_head entry;
|
|
struct list_head entry;
|
|
- char devpath[32];
|
|
|
|
- int mode;
|
|
|
|
|
|
+ char devpath[32];
|
|
|
|
+ int mode;
|
|
enum sms_device_type_st type;
|
|
enum sms_device_type_st type;
|
|
};
|
|
};
|
|
|
|
|
|
@@ -442,7 +442,7 @@ static struct smscore_registry_entry_t *smscore_find_registry(char *devpath)
|
|
next != &g_smscore_registry;
|
|
next != &g_smscore_registry;
|
|
next = next->next) {
|
|
next = next->next) {
|
|
entry = (struct smscore_registry_entry_t *) next;
|
|
entry = (struct smscore_registry_entry_t *) next;
|
|
- if (!strcmp(entry->devpath, devpath)) {
|
|
|
|
|
|
+ if (!strncmp(entry->devpath, devpath, sizeof(entry->devpath))) {
|
|
kmutex_unlock(&g_smscore_registrylock);
|
|
kmutex_unlock(&g_smscore_registrylock);
|
|
return entry;
|
|
return entry;
|
|
}
|
|
}
|
|
@@ -450,7 +450,7 @@ static struct smscore_registry_entry_t *smscore_find_registry(char *devpath)
|
|
entry = kmalloc(sizeof(*entry), GFP_KERNEL);
|
|
entry = kmalloc(sizeof(*entry), GFP_KERNEL);
|
|
if (entry) {
|
|
if (entry) {
|
|
entry->mode = default_mode;
|
|
entry->mode = default_mode;
|
|
- strcpy(entry->devpath, devpath);
|
|
|
|
|
|
+ strlcpy(entry->devpath, devpath, sizeof(entry->devpath));
|
|
list_add(&entry->entry, &g_smscore_registry);
|
|
list_add(&entry->entry, &g_smscore_registry);
|
|
} else
|
|
} else
|
|
pr_err("failed to create smscore_registry.\n");
|
|
pr_err("failed to create smscore_registry.\n");
|
|
@@ -733,7 +733,7 @@ int smscore_register_device(struct smsdevice_params_t *params,
|
|
dev->postload_handler = params->postload_handler;
|
|
dev->postload_handler = params->postload_handler;
|
|
|
|
|
|
dev->device_flags = params->flags;
|
|
dev->device_flags = params->flags;
|
|
- strcpy(dev->devpath, params->devpath);
|
|
|
|
|
|
+ strlcpy(dev->devpath, params->devpath, sizeof(dev->devpath));
|
|
|
|
|
|
smscore_registry_settype(dev->devpath, params->device_type);
|
|
smscore_registry_settype(dev->devpath, params->device_type);
|
|
|
|
|