Revert "parport: Proper fix for array out-of-bounds access"

This reverts commit aad6868e15.
This commit is contained in:
Ksawlii 2024-11-24 00:22:51 +01:00
parent f1cb82372f
commit d6fb0293d8

View file

@ -51,12 +51,12 @@ static int do_active_device(struct ctl_table *table, int write,
for (dev = port->devices; dev ; dev = dev->next) { for (dev = port->devices; dev ; dev = dev->next) {
if(dev == port->cad) { if(dev == port->cad) {
len += scnprintf(buffer, sizeof(buffer), "%s\n", dev->name); len += snprintf(buffer, sizeof(buffer), "%s\n", dev->name);
} }
} }
if(!len) { if(!len) {
len += scnprintf(buffer, sizeof(buffer), "%s\n", "none"); len += snprintf(buffer, sizeof(buffer), "%s\n", "none");
} }
if (len > *lenp) if (len > *lenp)
@ -87,19 +87,19 @@ static int do_autoprobe(struct ctl_table *table, int write,
} }
if ((str = info->class_name) != NULL) if ((str = info->class_name) != NULL)
len += scnprintf (buffer + len, sizeof(buffer) - len, "CLASS:%s;\n", str); len += snprintf (buffer + len, sizeof(buffer) - len, "CLASS:%s;\n", str);
if ((str = info->model) != NULL) if ((str = info->model) != NULL)
len += scnprintf (buffer + len, sizeof(buffer) - len, "MODEL:%s;\n", str); len += snprintf (buffer + len, sizeof(buffer) - len, "MODEL:%s;\n", str);
if ((str = info->mfr) != NULL) if ((str = info->mfr) != NULL)
len += scnprintf (buffer + len, sizeof(buffer) - len, "MANUFACTURER:%s;\n", str); len += snprintf (buffer + len, sizeof(buffer) - len, "MANUFACTURER:%s;\n", str);
if ((str = info->description) != NULL) if ((str = info->description) != NULL)
len += scnprintf (buffer + len, sizeof(buffer) - len, "DESCRIPTION:%s;\n", str); len += snprintf (buffer + len, sizeof(buffer) - len, "DESCRIPTION:%s;\n", str);
if ((str = info->cmdset) != NULL) if ((str = info->cmdset) != NULL)
len += scnprintf (buffer + len, sizeof(buffer) - len, "COMMAND SET:%s;\n", str); len += snprintf (buffer + len, sizeof(buffer) - len, "COMMAND SET:%s;\n", str);
if (len > *lenp) if (len > *lenp)
len = *lenp; len = *lenp;
@ -128,7 +128,7 @@ static int do_hardware_base_addr(struct ctl_table *table, int write,
if (write) /* permissions prevent this anyway */ if (write) /* permissions prevent this anyway */
return -EACCES; return -EACCES;
len += scnprintf (buffer, sizeof(buffer), "%lu\t%lu\n", port->base, port->base_hi); len += snprintf (buffer, sizeof(buffer), "%lu\t%lu\n", port->base, port->base_hi);
if (len > *lenp) if (len > *lenp)
len = *lenp; len = *lenp;
@ -155,7 +155,7 @@ static int do_hardware_irq(struct ctl_table *table, int write,
if (write) /* permissions prevent this anyway */ if (write) /* permissions prevent this anyway */
return -EACCES; return -EACCES;
len += scnprintf (buffer, sizeof(buffer), "%d\n", port->irq); len += snprintf (buffer, sizeof(buffer), "%d\n", port->irq);
if (len > *lenp) if (len > *lenp)
len = *lenp; len = *lenp;
@ -182,7 +182,7 @@ static int do_hardware_dma(struct ctl_table *table, int write,
if (write) /* permissions prevent this anyway */ if (write) /* permissions prevent this anyway */
return -EACCES; return -EACCES;
len += scnprintf (buffer, sizeof(buffer), "%d\n", port->dma); len += snprintf (buffer, sizeof(buffer), "%d\n", port->dma);
if (len > *lenp) if (len > *lenp)
len = *lenp; len = *lenp;
@ -213,7 +213,7 @@ static int do_hardware_modes(struct ctl_table *table, int write,
#define printmode(x) \ #define printmode(x) \
do { \ do { \
if (port->modes & PARPORT_MODE_##x) \ if (port->modes & PARPORT_MODE_##x) \
len += scnprintf(buffer + len, sizeof(buffer) - len, "%s%s", f++ ? "," : "", #x); \ len += snprintf(buffer + len, sizeof(buffer) - len, "%s%s", f++ ? "," : "", #x); \
} while (0) } while (0)
int f = 0; int f = 0;
printmode(PCSPP); printmode(PCSPP);