CAM: Use sbuf_new_for_sysctl() in more places
There is no need to allocate buffer, worry about overflows, etc. MFC after: 2 weeks
This commit is contained in:
@@ -1425,7 +1425,6 @@ adazonemodesysctl(SYSCTL_HANDLER_ARGS)
|
||||
static int
|
||||
adazonesupsysctl(SYSCTL_HANDLER_ARGS)
|
||||
{
|
||||
char tmpbuf[180];
|
||||
struct ada_softc *softc;
|
||||
struct sbuf sb;
|
||||
int error, first;
|
||||
@@ -1433,15 +1432,14 @@ adazonesupsysctl(SYSCTL_HANDLER_ARGS)
|
||||
|
||||
softc = (struct ada_softc *)arg1;
|
||||
|
||||
error = 0;
|
||||
first = 1;
|
||||
sbuf_new(&sb, tmpbuf, sizeof(tmpbuf), 0);
|
||||
sbuf_new_for_sysctl(&sb, NULL, 0, req);
|
||||
|
||||
for (i = 0; i < sizeof(ada_zone_desc_table) /
|
||||
sizeof(ada_zone_desc_table[0]); i++) {
|
||||
if (softc->zone_flags & ada_zone_desc_table[i].value) {
|
||||
if (first == 0)
|
||||
sbuf_printf(&sb, ", ");
|
||||
sbuf_cat(&sb, ", ");
|
||||
else
|
||||
first = 0;
|
||||
sbuf_cat(&sb, ada_zone_desc_table[i].desc);
|
||||
@@ -1451,10 +1449,8 @@ adazonesupsysctl(SYSCTL_HANDLER_ARGS)
|
||||
if (first == 1)
|
||||
sbuf_printf(&sb, "None");
|
||||
|
||||
sbuf_finish(&sb);
|
||||
|
||||
error = sysctl_handle_string(oidp, sbuf_data(&sb), sbuf_len(&sb), req);
|
||||
|
||||
error = sbuf_finish(&sb);
|
||||
sbuf_delete(&sb);
|
||||
return (error);
|
||||
}
|
||||
|
||||
|
||||
@@ -2734,7 +2734,6 @@ dazonemodesysctl(SYSCTL_HANDLER_ARGS)
|
||||
static int
|
||||
dazonesupsysctl(SYSCTL_HANDLER_ARGS)
|
||||
{
|
||||
char tmpbuf[180];
|
||||
struct da_softc *softc;
|
||||
struct sbuf sb;
|
||||
int error, first;
|
||||
@@ -2742,15 +2741,14 @@ dazonesupsysctl(SYSCTL_HANDLER_ARGS)
|
||||
|
||||
softc = (struct da_softc *)arg1;
|
||||
|
||||
error = 0;
|
||||
first = 1;
|
||||
sbuf_new(&sb, tmpbuf, sizeof(tmpbuf), 0);
|
||||
sbuf_new_for_sysctl(&sb, NULL, 0, req);
|
||||
|
||||
for (i = 0; i < sizeof(da_zone_desc_table) /
|
||||
sizeof(da_zone_desc_table[0]); i++) {
|
||||
if (softc->zone_flags & da_zone_desc_table[i].value) {
|
||||
if (first == 0)
|
||||
sbuf_printf(&sb, ", ");
|
||||
sbuf_cat(&sb, ", ");
|
||||
else
|
||||
first = 0;
|
||||
sbuf_cat(&sb, da_zone_desc_table[i].desc);
|
||||
@@ -2760,10 +2758,8 @@ dazonesupsysctl(SYSCTL_HANDLER_ARGS)
|
||||
if (first == 1)
|
||||
sbuf_printf(&sb, "None");
|
||||
|
||||
sbuf_finish(&sb);
|
||||
|
||||
error = sysctl_handle_string(oidp, sbuf_data(&sb), sbuf_len(&sb), req);
|
||||
|
||||
error = sbuf_finish(&sb);
|
||||
sbuf_delete(&sb);
|
||||
return (error);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user