diff options
author | sos <sos@FreeBSD.org> | 2003-10-10 11:00:06 +0000 |
---|---|---|
committer | sos <sos@FreeBSD.org> | 2003-10-10 11:00:06 +0000 |
commit | dff7842fedb3ab8a5a13b7cff94c4b0b9e6fdb51 (patch) | |
tree | bc1c70c93c304813f0c0fb9a94df66e7de8aff39 /sys/dev/ata/ata-all.c | |
parent | ee29ad95a7ac79b1ea306ebd059e9e44a6f7674b (diff) | |
download | FreeBSD-src-dff7842fedb3ab8a5a13b7cff94c4b0b9e6fdb51.zip FreeBSD-src-dff7842fedb3ab8a5a13b7cff94c4b0b9e6fdb51.tar.gz |
Dont store ata_params for devices that return a bogus ident string.
Diffstat (limited to 'sys/dev/ata/ata-all.c')
-rw-r--r-- | sys/dev/ata/ata-all.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/dev/ata/ata-all.c b/sys/dev/ata/ata-all.c index 825027e..f58e49e 100644 --- a/sys/dev/ata/ata-all.c +++ b/sys/dev/ata/ata-all.c @@ -35,6 +35,7 @@ __FBSDID("$FreeBSD$"); #include <sys/ata.h> #include <sys/kernel.h> #include <sys/endian.h> +#include <sys/ctype.h> #include <sys/conf.h> #include <sys/bus.h> #include <sys/bio.h> @@ -555,6 +556,8 @@ ata_getparam(struct ata_device *atadev, u_int8_t command) } ata_free_request(request); } + if (!isalpha(atacap->model[0]) || !isalpha(atacap->model[1])) + error = ENXIO; if (error) { atadev->param = NULL; free(atacap, M_ATA); |