MFC r273488:
Fix some bugs in the error handling of getdevice(). PR: 194506
This commit is contained in:
parent
ec597a3d4e
commit
b431d8bfcf
@ -662,16 +662,16 @@ getdevice(const char *name)
|
||||
* find the start of the unit.
|
||||
*/
|
||||
if (name[0] == '\0')
|
||||
err(1, "Empty device name");
|
||||
errx(1, "Empty device name");
|
||||
cp = strchr(name, '\0');
|
||||
assert(cp != NULL && cp != name);
|
||||
cp--;
|
||||
while (cp != name && isdigit(cp[-1]))
|
||||
cp--;
|
||||
if (cp == name)
|
||||
if (cp == name || !isdigit(*cp))
|
||||
errx(1, "Invalid device name");
|
||||
if ((size_t)(cp - name) + 1 > sizeof(patterns[0].pd_name))
|
||||
errx(1, "Device name i2s too long");
|
||||
errx(1, "Device name is too long");
|
||||
memcpy(patterns[0].pd_name, name, cp - name);
|
||||
patterns[0].pd_unit = strtol(cp, &cp, 10);
|
||||
assert(*cp == '\0');
|
||||
|
Loading…
Reference in New Issue
Block a user