@@ -51,12 +51,12 @@ static int do_active_device(struct ctl_table *table, int write,
51
51
52
52
for (dev = port -> devices ; dev ; dev = dev -> next ) {
53
53
if (dev == port -> cad ) {
54
- len += sprintf (buffer , "%s\n" , dev -> name );
54
+ len += snprintf (buffer , sizeof ( buffer ) , "%s\n" , dev -> name );
55
55
}
56
56
}
57
57
58
58
if (!len ) {
59
- len += sprintf (buffer , "%s\n" , "none" );
59
+ len += snprintf (buffer , sizeof ( buffer ) , "%s\n" , "none" );
60
60
}
61
61
62
62
if (len > * lenp )
@@ -87,19 +87,19 @@ static int do_autoprobe(struct ctl_table *table, int write,
87
87
}
88
88
89
89
if ((str = info -> class_name ) != NULL )
90
- len += sprintf (buffer + len , "CLASS:%s;\n" , str );
90
+ len += snprintf (buffer + len , sizeof ( buffer ) - len , "CLASS:%s;\n" , str );
91
91
92
92
if ((str = info -> model ) != NULL )
93
- len += sprintf (buffer + len , "MODEL:%s;\n" , str );
93
+ len += snprintf (buffer + len , sizeof ( buffer ) - len , "MODEL:%s;\n" , str );
94
94
95
95
if ((str = info -> mfr ) != NULL )
96
- len += sprintf (buffer + len , "MANUFACTURER:%s;\n" , str );
96
+ len += snprintf (buffer + len , sizeof ( buffer ) - len , "MANUFACTURER:%s;\n" , str );
97
97
98
98
if ((str = info -> description ) != NULL )
99
- len += sprintf (buffer + len , "DESCRIPTION:%s;\n" , str );
99
+ len += snprintf (buffer + len , sizeof ( buffer ) - len , "DESCRIPTION:%s;\n" , str );
100
100
101
101
if ((str = info -> cmdset ) != NULL )
102
- len += sprintf (buffer + len , "COMMAND SET:%s;\n" , str );
102
+ len += snprintf (buffer + len , sizeof ( buffer ) - len , "COMMAND SET:%s;\n" , str );
103
103
104
104
if (len > * lenp )
105
105
len = * lenp ;
@@ -117,7 +117,7 @@ static int do_hardware_base_addr(struct ctl_table *table, int write,
117
117
void * result , size_t * lenp , loff_t * ppos )
118
118
{
119
119
struct parport * port = (struct parport * )table -> extra1 ;
120
- char buffer [20 ];
120
+ char buffer [64 ];
121
121
int len = 0 ;
122
122
123
123
if (* ppos ) {
@@ -128,7 +128,7 @@ static int do_hardware_base_addr(struct ctl_table *table, int write,
128
128
if (write ) /* permissions prevent this anyway */
129
129
return - EACCES ;
130
130
131
- len += sprintf (buffer , "%lu\t%lu\n" , port -> base , port -> base_hi );
131
+ len += snprintf (buffer , sizeof ( buffer ) , "%lu\t%lu\n" , port -> base , port -> base_hi );
132
132
133
133
if (len > * lenp )
134
134
len = * lenp ;
@@ -155,7 +155,7 @@ static int do_hardware_irq(struct ctl_table *table, int write,
155
155
if (write ) /* permissions prevent this anyway */
156
156
return - EACCES ;
157
157
158
- len += sprintf (buffer , "%d\n" , port -> irq );
158
+ len += snprintf (buffer , sizeof ( buffer ) , "%d\n" , port -> irq );
159
159
160
160
if (len > * lenp )
161
161
len = * lenp ;
@@ -182,7 +182,7 @@ static int do_hardware_dma(struct ctl_table *table, int write,
182
182
if (write ) /* permissions prevent this anyway */
183
183
return - EACCES ;
184
184
185
- len += sprintf (buffer , "%d\n" , port -> dma );
185
+ len += snprintf (buffer , sizeof ( buffer ) , "%d\n" , port -> dma );
186
186
187
187
if (len > * lenp )
188
188
len = * lenp ;
@@ -213,7 +213,7 @@ static int do_hardware_modes(struct ctl_table *table, int write,
213
213
#define printmode (x ) \
214
214
do { \
215
215
if (port->modes & PARPORT_MODE_##x) \
216
- len += sprintf (buffer + len, "%s%s", f++ ? "," : "", #x); \
216
+ len += snprintf (buffer + len, sizeof(buffer) - len, "%s%s", f++ ? "," : "", #x); \
217
217
} while (0)
218
218
int f = 0 ;
219
219
printmode (PCSPP );
0 commit comments