annotate power.cpp @ 411:ad2206c24986 api-inversion

Fix a memory corruption bug. When allocating the adb_t in audiodb_open(), zero the memory; then we're not going to try to free() or delete some arbitrary uninitialized thing if the thing that we're opening turns out not to be an audiodb database.
author mas01cr
date Thu, 11 Dec 2008 08:54:06 +0000
parents 7038f31124d1
children
rev   line source
mas01cr@400 1 #include "audioDB.h"
mas01cr@400 2 extern "C" {
mas01cr@400 3 #include "audioDB_API.h"
mas01cr@401 4 #include "audioDB-internals.h"
mas01cr@400 5 }
mas01cr@400 6
mas01cr@400 7 int audiodb_power(adb_t *adb) {
mas01cr@403 8 if(!(adb->flags & O_RDWR)) {
mas01cr@403 9 return 1;
mas01cr@403 10 }
mas01cr@400 11 if(adb->header->length > 0) {
mas01cr@400 12 return 1;
mas01cr@400 13 }
mas01cr@400 14
mas01cr@400 15 adb->header->flags |= O2_FLAG_POWER;
mas01cr@400 16 return audiodb_sync_header(adb);
mas01cr@400 17 }