aboutsummaryrefslogtreecommitdiff
path: root/usr.sbin/pccard
diff options
context:
space:
mode:
authorWarner Losh <imp@FreeBSD.org>1999-12-08 18:12:02 +0000
committerWarner Losh <imp@FreeBSD.org>1999-12-08 18:12:02 +0000
commit17c770d7e5c487f90dd1c9b35a6b0cb321e39bb0 (patch)
treedc877fa646dca64fa6af4b38870d5c0d8685b10e /usr.sbin/pccard
parent6e59a2562a5eea825ec812fd453b6cd190ae61dd (diff)
Notes
Diffstat (limited to 'usr.sbin/pccard')
-rw-r--r--usr.sbin/pccard/pccardd/readcis.c19
1 files changed, 3 insertions, 16 deletions
diff --git a/usr.sbin/pccard/pccardd/readcis.c b/usr.sbin/pccard/pccardd/readcis.c
index ddfd6fcba783..6fd7c7bb2592 100644
--- a/usr.sbin/pccard/pccardd/readcis.c
+++ b/usr.sbin/pccard/pccardd/readcis.c
@@ -170,29 +170,16 @@ freecis(struct cis *cp)
static void
cis_info(struct cis *cp, unsigned char *p, int len)
{
- unsigned char *end = p + len;
*cp->manuf = *cp->vers = *cp->add_info1 = *cp->add_info2 = '\0';
cp->maj_v = *p++;
cp->min_v = *p++;
- if (p >= end)
- return;
strncpy(cp->manuf, p, CIS_MAXSTR - 1);
- cp->manuf[CIS_MAXSTR - 1] = '\0';
- p += strlen(p);
- if (p >= end)
- return;
+ while (*p++);
strncpy(cp->vers, p, CIS_MAXSTR - 1);
- cp->vers[CIS_MAXSTR - 1] = '\0';
- p += strlen(p);
- if (p >= end)
- return;
+ while (*p++);
strncpy(cp->add_info1, p, CIS_MAXSTR - 1);
- cp->add_info1[CIS_MAXSTR - 1] = '\0';
- p += strlen(p);
- if (p >= end)
- return;
+ while (*p++);
strncpy(cp->add_info2, p, CIS_MAXSTR - 1);
- cp->add_info2[CIS_MAXSTR - 1] = '\0';
}
/*