aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/agp
diff options
context:
space:
mode:
authorEric Anholt <anholt@FreeBSD.org>2003-11-11 21:49:18 +0000
committerEric Anholt <anholt@FreeBSD.org>2003-11-11 21:49:18 +0000
commita6cb9d8e99d421c105802a0609233a8b013d62fb (patch)
tree6923eb476dc98a422a64974b7a37b8308fda7fc7 /sys/dev/agp
parent599bcd064ca8663462a5f0d8e004f48241d685ef (diff)
Notes
Diffstat (limited to 'sys/dev/agp')
-rw-r--r--sys/dev/agp/agp.c5
-rw-r--r--sys/dev/agp/agp_ali.c4
2 files changed, 9 insertions, 0 deletions
diff --git a/sys/dev/agp/agp.c b/sys/dev/agp/agp.c
index 7bf49b29c3cf..e66445995d70 100644
--- a/sys/dev/agp/agp.c
+++ b/sys/dev/agp/agp.c
@@ -175,6 +175,11 @@ agp_alloc_gatt(device_t dev)
"allocating GATT for aperture of size %dM\n",
apsize / (1024*1024));
+ if (entries == 0) {
+ device_printf(dev, "bad aperture size\n");
+ return NULL;
+ }
+
gatt = malloc(sizeof(struct agp_gatt), M_AGP, M_NOWAIT);
if (!gatt)
return 0;
diff --git a/sys/dev/agp/agp_ali.c b/sys/dev/agp/agp_ali.c
index b9b2c1326f56..fc99574de706 100644
--- a/sys/dev/agp/agp_ali.c
+++ b/sys/dev/agp/agp_ali.c
@@ -102,6 +102,10 @@ agp_ali_attach(device_t dev)
return error;
sc->initial_aperture = AGP_GET_APERTURE(dev);
+ if (sc->initial_aperture == 0) {
+ device_printf(dev, "bad initial aperture size, disabling\n");
+ return ENXIO;
+ }
for (;;) {
gatt = agp_alloc_gatt(dev);