summaryrefslogtreecommitdiffstats
path: root/sys/dev/ata/atapi-cd.c
diff options
context:
space:
mode:
authorsos <sos@FreeBSD.org>2006-06-28 15:04:10 +0000
committersos <sos@FreeBSD.org>2006-06-28 15:04:10 +0000
commit5c369848880051b35e722efbae94e11c29092a1f (patch)
treeb7a37288cbadecdf5038f86cb3c448afb7925dd6 /sys/dev/ata/atapi-cd.c
parent0552c3f9acdfb38181f72d97f12dc4ed2b17d064 (diff)
downloadFreeBSD-src-5c369848880051b35e722efbae94e11c29092a1f.zip
FreeBSD-src-5c369848880051b35e722efbae94e11c29092a1f.tar.gz
Dont call free on non-alloc'd items.
Diffstat (limited to 'sys/dev/ata/atapi-cd.c')
-rw-r--r--sys/dev/ata/atapi-cd.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/dev/ata/atapi-cd.c b/sys/dev/ata/atapi-cd.c
index bdfa167..1fd0929 100644
--- a/sys/dev/ata/atapi-cd.c
+++ b/sys/dev/ata/atapi-cd.c
@@ -1335,7 +1335,8 @@ acd_report_key(device_t dev, struct dvd_authinfo *ai)
error = ata_atapicmd(dev, ccb, (caddr_t)d, length,
ai->format == DVD_INVALIDATE_AGID ? 0 : ATA_R_READ,10);
if (error) {
- free(d, M_ACD);
+ if (length)
+ free(d, M_ACD);
return error;
}
@@ -1377,7 +1378,8 @@ acd_report_key(device_t dev, struct dvd_authinfo *ai)
default:
error = EINVAL;
}
- free(d, M_ACD);
+ if (length)
+ free(d, M_ACD);
return error;
}
OpenPOWER on IntegriCloud