Page MenuHomeFreeBSD

D13194.id35609.diff
No OneTemporary

D13194.id35609.diff

Index: head/sys/cam/cam_xpt.c
===================================================================
--- head/sys/cam/cam_xpt.c
+++ head/sys/cam/cam_xpt.c
@@ -686,8 +686,9 @@
/*
* Fill in the getdevlist fields.
*/
- strcpy(ccb->cgdl.periph_name,
- periph->periph_name);
+ strlcpy(ccb->cgdl.periph_name,
+ periph->periph_name,
+ sizeof(ccb->cgdl.periph_name));
ccb->cgdl.unit_number =
periph->unit_number;
if (SLIST_NEXT(periph, periph_links))
@@ -1756,8 +1757,9 @@
cdm->matches[j].result.bus_result.bus_id = bus->sim->bus_id;
cdm->matches[j].result.bus_result.unit_number =
bus->sim->unit_number;
- strncpy(cdm->matches[j].result.bus_result.dev_name,
- bus->sim->sim_name, DEV_IDLEN);
+ strlcpy(cdm->matches[j].result.bus_result.dev_name,
+ bus->sim->sim_name,
+ sizeof(cdm->matches[j].result.bus_result.dev_name));
}
/*
@@ -1976,6 +1978,7 @@
*/
if (retval & DM_RET_COPY) {
int spaceleft, j;
+ size_t l;
spaceleft = cdm->match_buf_len - (cdm->num_matches *
sizeof(struct dev_match_result));
@@ -2019,8 +2022,9 @@
periph->path->device->lun_id;
cdm->matches[j].result.periph_result.unit_number =
periph->unit_number;
- strncpy(cdm->matches[j].result.periph_result.periph_name,
- periph->periph_name, DEV_IDLEN);
+ l = sizeof(cdm->matches[j].result.periph_result.periph_name);
+ strlcpy(cdm->matches[j].result.periph_result.periph_name,
+ periph->periph_name, l);
}
return(1);
@@ -2115,6 +2119,7 @@
*/
if (retval & DM_RET_COPY) {
int spaceleft, j;
+ size_t l;
spaceleft = cdm->match_buf_len - (cdm->num_matches *
sizeof(struct dev_match_result));
@@ -2191,8 +2196,9 @@
cdm->matches[j].result.periph_result.unit_number =
periph->unit_number;
- strncpy(cdm->matches[j].result.periph_result.periph_name,
- periph->periph_name, DEV_IDLEN);
+ l = sizeof(cdm->matches[j].result.periph_result.periph_name);
+ strlcpy(cdm->matches[j].result.periph_result.periph_name,
+ periph->periph_name, l);
}
return(1);
@@ -2905,9 +2911,9 @@
(nperiph != NULL) && (i <= cgdl->index);
nperiph = SLIST_NEXT(nperiph, periph_links), i++) {
if (i == cgdl->index) {
- strncpy(cgdl->periph_name,
+ strlcpy(cgdl->periph_name,
nperiph->periph_name,
- DEV_IDLEN);
+ sizeof(cgdl->periph_name));
cgdl->unit_number = nperiph->unit_number;
found = 1;
}

File Metadata

Mime Type
text/plain
Expires
Thu, Oct 23, 1:50 AM (35 m, 8 s)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
24077839
Default Alt Text
D13194.id35609.diff (2 KB)

Event Timeline