diff --git a/headers/os/opengl/GLRenderer.h b/headers/os/opengl/GLRenderer.h index 4f2359dfa9..9bdbd865df 100644 --- a/headers/os/opengl/GLRenderer.h +++ b/headers/os/opengl/GLRenderer.h @@ -17,50 +17,50 @@ class BGLRenderer { // Private unimplemented copy constructors - BGLRenderer(const BGLRenderer &); - BGLRenderer & operator=(const BGLRenderer &); + BGLRenderer(const BGLRenderer &); + BGLRenderer & operator=(const BGLRenderer &); public: - BGLRenderer(BGLView *view, ulong bgl_options, BGLDispatcher *dispatcher); - virtual ~BGLRenderer(); + BGLRenderer(BGLView *view, ulong bgl_options, BGLDispatcher *dispatcher); + virtual ~BGLRenderer(); - void Acquire(); - void Release(); + void Acquire(); + void Release(); virtual void LockGL(); virtual void UnlockGL(); virtual void SwapBuffers(bool VSync = false); virtual void Draw(BRect updateRect); - virtual status_t CopyPixelsOut(BPoint source, BBitmap *dest); - virtual status_t CopyPixelsIn(BBitmap *source, BPoint dest); + virtual status_t CopyPixelsOut(BPoint source, BBitmap *dest); + virtual status_t CopyPixelsIn(BBitmap *source, BPoint dest); virtual void FrameResized(float width, float height); - virtual void DirectConnected(direct_buffer_info *info); - virtual void EnableDirectMode(bool enabled); + virtual void DirectConnected(direct_buffer_info *info); + virtual void EnableDirectMode(bool enabled); - inline int32 ReferenceCount() { return fRefCount; }; - inline ulong Options() { return fOptions; }; - inline BGLView * GLView() { return fView; }; + inline int32 ReferenceCount() const { return fRefCount; }; + inline ulong Options() const { return fOptions; }; + inline BGLView * GLView() { return fView; }; inline BGLDispatcher * GLDispatcher() { return fDispatcher; }; private: friend class GLRendererRoster; - virtual status_t _Reserved_Renderer_0(int32, void *); - virtual status_t _Reserved_Renderer_1(int32, void *); - virtual status_t _Reserved_Renderer_2(int32, void *); - virtual status_t _Reserved_Renderer_3(int32, void *); - virtual status_t _Reserved_Renderer_4(int32, void *); + virtual status_t _Reserved_Renderer_0(int32, void *); + virtual status_t _Reserved_Renderer_1(int32, void *); + virtual status_t _Reserved_Renderer_2(int32, void *); + virtual status_t _Reserved_Renderer_3(int32, void *); + virtual status_t _Reserved_Renderer_4(int32, void *); - volatile int32 fRefCount; // How much we're still usefull? - BGLView * fView; // Never forget who is the boss! - ulong fOptions; // Keep that tune in memory - BGLDispatcher * fDispatcher; // Our personal OpenGL API call dispatcher + volatile int32 fRefCount; // How much we're still usefull? + BGLView* fView; // Never forget who is the boss! + ulong fOptions; // Keep that tune in memory + BGLDispatcher* fDispatcher; // Our personal OpenGL API call dispatcher - GLRendererRoster *fOwningRoster; - renderer_id fID; + GLRendererRoster* fOwningRoster; + renderer_id fID; }; extern "C" _EXPORT BGLRenderer * instantiate_gl_renderer(BGLView *view, ulong options, BGLDispatcher *dispatcher); @@ -68,7 +68,3 @@ extern "C" _EXPORT BGLRenderer * instantiate_gl_renderer(BGLView *view, ulong op #endif // GLRENDERER_H - - - - diff --git a/headers/private/app/LinkReceiver.h b/headers/private/app/LinkReceiver.h index 160136e909..23edd4f76c 100644 --- a/headers/private/app/LinkReceiver.h +++ b/headers/private/app/LinkReceiver.h @@ -27,7 +27,7 @@ class LinkReceiver { virtual ~LinkReceiver(void); void SetPort(port_id port); - port_id Port(void) { return fReceivePort; } + port_id Port(void) const { return fReceivePort; } status_t GetNextMessage(int32& code, bigtime_t timeout = B_INFINITE_TIMEOUT); bool HasMessages() const; diff --git a/headers/private/app/LinkSender.h b/headers/private/app/LinkSender.h index 50b1592052..775694af15 100644 --- a/headers/private/app/LinkSender.h +++ b/headers/private/app/LinkSender.h @@ -22,7 +22,7 @@ class LinkSender { virtual ~LinkSender(void); void SetPort(port_id port); - port_id Port() { return fPort; } + port_id Port() const { return fPort; } status_t StartMessage(int32 code, size_t minSize = 0); void CancelMessage(void); diff --git a/headers/private/app/MessageUtils.h b/headers/private/app/MessageUtils.h index 6b245e1a6d..cdd8d36a32 100644 --- a/headers/private/app/MessageUtils.h +++ b/headers/private/app/MessageUtils.h @@ -77,10 +77,10 @@ public: throw fError; } - status_t Status() { return fError >= B_OK ? B_OK : fError; }; + status_t Status() const { return fError >= B_OK ? B_OK : fError; }; void SetSwap(bool yesNo) { fSwap = yesNo; }; - bool IsSwapping() { return fSwap; }; + bool IsSwapping() const { return fSwap; }; private: BDataIO *fStream; diff --git a/headers/private/graphics/intel_extreme/lock.h b/headers/private/graphics/intel_extreme/lock.h index 52263eb59f..9c0f8423fa 100644 --- a/headers/private/graphics/intel_extreme/lock.h +++ b/headers/private/graphics/intel_extreme/lock.h @@ -71,7 +71,7 @@ class Autolock { } bool - IsLocked() + IsLocked() const { return fStatus == B_OK; } diff --git a/headers/private/media/TList.h b/headers/private/media/TList.h index e769fdd7be..e7c2806d17 100644 --- a/headers/private/media/TList.h +++ b/headers/private/media/TList.h @@ -82,12 +82,12 @@ public: return -1; } - int CountItems() + int CountItems() const { return item_count; } - bool IsEmpty() + bool IsEmpty() const { return item_count == 0; } diff --git a/headers/private/screen_saver/ScreenSaverSettings.h b/headers/private/screen_saver/ScreenSaverSettings.h index fe0cd01fcf..15299d193d 100644 --- a/headers/private/screen_saver/ScreenSaverSettings.h +++ b/headers/private/screen_saver/ScreenSaverSettings.h @@ -44,16 +44,16 @@ public: BPath& Path() { return fSettingsPath; } // General screen saver settings - int32 TimeFlags() { return fTimeFlags; } - bigtime_t BlankTime() { return fBlankTime; } - bigtime_t StandByTime() { return fStandByTime; } - bigtime_t SuspendTime() { return fSuspendTime; } - bigtime_t OffTime() { return fOffTime; } + int32 TimeFlags() const { return fTimeFlags; } + bigtime_t BlankTime() const { return fBlankTime; } + bigtime_t StandByTime() const { return fStandByTime; } + bigtime_t SuspendTime() const { return fSuspendTime; } + bigtime_t OffTime() const { return fOffTime; } - screen_corner BlankCorner() { return fBlankCorner; } - screen_corner NeverBlankCorner() { return fNeverBlankCorner; } - bool LockEnable() { return fLockEnabled; } - bigtime_t PasswordTime() { return fPasswordTime; } + screen_corner BlankCorner() const { return fBlankCorner; } + screen_corner NeverBlankCorner() const { return fNeverBlankCorner; } + bool LockEnable() const { return fLockEnabled; } + bigtime_t PasswordTime() const { return fPasswordTime; } const char* Password() { return fPassword.String(); } const char* LockMethod() { return fLockMethod.String(); } bool IsNetworkPassword() @@ -93,8 +93,8 @@ public: BMessage* stateMessage); // ScreenSaver preferences settings - BRect WindowFrame() { return fWindowFrame; } - int32 WindowTab() { return fWindowTab; } + BRect WindowFrame() const { return fWindowFrame; } + int32 WindowTab() const { return fWindowTab; } void SetWindowFrame(const BRect& frame) { fWindowFrame = frame; } diff --git a/src/add-ons/accelerants/vmware/Cursor.c b/src/add-ons/accelerants/vmware/Cursor.c index f107127bda..0977fff46c 100644 --- a/src/add-ons/accelerants/vmware/Cursor.c +++ b/src/add-ons/accelerants/vmware/Cursor.c @@ -84,7 +84,7 @@ SET_CURSOR_SHAPE(uint16 width, uint16 height, uint16 hot_x, scanlineSize = 4 * ((width + 31) / 32); scanline = calloc(1, scanlineSize); - if (calloc == NULL) + if (scanline == NULL) return B_ERROR; FifoBeginWrite(); diff --git a/src/add-ons/kernel/bus_managers/acpi/acpi_device.c b/src/add-ons/kernel/bus_managers/acpi/acpi_device.c index 3848478230..6ac8361c60 100644 --- a/src/add-ons/kernel/bus_managers/acpi/acpi_device.c +++ b/src/add-ons/kernel/bus_managers/acpi/acpi_device.c @@ -92,8 +92,10 @@ acpi_device_init_driver(device_node *node, void **cookie) memset(device, 0, sizeof(*device)); - if (AcpiGetHandle(NULL, (ACPI_STRING)path, &handle) != AE_OK) + if (AcpiGetHandle(NULL, (ACPI_STRING)path, &handle) != AE_OK) { + free(device); return B_ENTRY_NOT_FOUND; + } device->handle = handle; device->path = strdup(path); diff --git a/src/add-ons/kernel/busses/scsi/buslogic/buslogic.c b/src/add-ons/kernel/busses/scsi/buslogic/buslogic.c index e49b189ea8..112d813459 100644 --- a/src/add-ons/kernel/busses/scsi/buslogic/buslogic.c +++ b/src/add-ons/kernel/busses/scsi/buslogic/buslogic.c @@ -823,15 +823,20 @@ static BusLogic *create_cardinfo(int num, int iobase, int irq) /* can't be sure of getting contig pages -- scale stuff down so we can live in just one page */ bl->box_count = 4; - if(!(a = malloc(4096*2))) return NULL; + if(!(a = malloc(4096*2))) { + free(bl); + return NULL; + } a = (uchar *) ((((uint32) a) & 0xFFFFF000) + 0x1000); get_memory_map(a, 4096, entries, 2); #else bl->box_count = MAX_CCB_COUNT; aid = create_area("bl_workspace", (void **)&a, B_ANY_KERNEL_ADDRESS, 4096*5, B_CONTIGUOUS, B_READ_AREA | B_WRITE_AREA); - if(aid == B_ERROR || aid == B_BAD_VALUE || aid == B_NO_MEMORY) + if(aid == B_ERROR || aid == B_BAD_VALUE || aid == B_NO_MEMORY) { + free(bl); return NULL; + } get_memory_map(a, 4096*5, entries, 2); #endif diff --git a/src/add-ons/kernel/debugger/hangman/hangman.c b/src/add-ons/kernel/debugger/hangman/hangman.c index 32cf493e13..f77a7d60d4 100644 --- a/src/add-ons/kernel/debugger/hangman/hangman.c +++ b/src/add-ons/kernel/debugger/hangman/hangman.c @@ -124,8 +124,10 @@ init_words(char *from) if (fd < B_OK) return fd; /* lseek() seems to always return 0 from the kernel ??? */ - if (fstat(fd, &st)) + if (fstat(fd, &st)) { + close(fd); return B_ERROR; + } sz = (size_t)st.st_size; // sz = (size_t)lseek(fd, 0, SEEK_END); // dprintf("khangman: lseek(): %ld\n", sz); diff --git a/src/add-ons/kernel/drivers/audio/hda/hda_codec.cpp b/src/add-ons/kernel/drivers/audio/hda/hda_codec.cpp index 70ae02ddc2..1d4fd013fb 100644 --- a/src/add-ons/kernel/drivers/audio/hda/hda_codec.cpp +++ b/src/add-ons/kernel/drivers/audio/hda/hda_codec.cpp @@ -1155,8 +1155,10 @@ hda_codec_new_audio_group(hda_codec* codec, uint32 audioGroupNodeID) audioGroup->codec = codec; audioGroup->multi = (hda_multi*)calloc(1, sizeof(hda_multi)); - if (audioGroup->multi == NULL) + if (audioGroup->multi == NULL) { + free(audioGroup); return B_NO_MEMORY; + } audioGroup->multi->group = audioGroup; /* Parse all widgets in Audio Function Group */ diff --git a/src/add-ons/kernel/drivers/tty/tty.cpp b/src/add-ons/kernel/drivers/tty/tty.cpp index 02bb0840d4..94f9ada195 100644 --- a/src/add-ons/kernel/drivers/tty/tty.cpp +++ b/src/add-ons/kernel/drivers/tty/tty.cpp @@ -104,6 +104,8 @@ public: { } + virtual ~AbstractLocker() {} + size_t AvailableBytes() const { return fBytes; } diff --git a/src/add-ons/kernel/file_systems/googlefs/google_request.c b/src/add-ons/kernel/file_systems/googlefs/google_request.c index 9e0b520201..f39ec17612 100644 --- a/src/add-ons/kernel/file_systems/googlefs/google_request.c +++ b/src/add-ons/kernel/file_systems/googlefs/google_request.c @@ -134,8 +134,10 @@ status_t google_request_process(struct google_request *req) fd = open(FAKE_INPUT, O_RDONLY, 0644); if (fd < 0) return -1; - if (fstat(fd, &st) < 0) + if (fstat(fd, &st) < 0) { + close(fd); return -1; + } cnx->datalen = st.st_size; cnx->data = malloc(cnx->datalen); if (!cnx->data) diff --git a/src/add-ons/kernel/file_systems/netfs/server/ClientConnection.cpp b/src/add-ons/kernel/file_systems/netfs/server/ClientConnection.cpp index b3fa200aff..63f814f411 100644 --- a/src/add-ons/kernel/file_systems/netfs/server/ClientConnection.cpp +++ b/src/add-ons/kernel/file_systems/netfs/server/ClientConnection.cpp @@ -2748,8 +2748,10 @@ ClientConnection::_CreateVolume(ClientVolume** _volume) if (!volume) return B_NO_MEMORY; status_t error = volume->Init(); - if (error != B_OK) + if (error != B_OK) { + delete volume; return error; + } // add it to the volume map AutoLocker locker(fVolumes); diff --git a/src/add-ons/kernel/file_systems/netfs/server/NetFSServer.cpp b/src/add-ons/kernel/file_systems/netfs/server/NetFSServer.cpp index 512d075c4b..d1fc937463 100644 --- a/src/add-ons/kernel/file_systems/netfs/server/NetFSServer.cpp +++ b/src/add-ons/kernel/file_systems/netfs/server/NetFSServer.cpp @@ -790,8 +790,10 @@ NetFSServer::_LoadSecurityContext(SecurityContext** _securityContext) if (!securityContext) return B_NO_MEMORY; status_t error = securityContext->InitCheck(); - if (error != B_OK) + if (error != B_OK) { + delete securityContext; return error; + } ObjectDeleter securityContextDeleter(securityContext); // load from driver settings for the time being diff --git a/src/add-ons/kernel/file_systems/netfs/server/VolumeManager.cpp b/src/add-ons/kernel/file_systems/netfs/server/VolumeManager.cpp index 8c660536f5..c636afe486 100644 --- a/src/add-ons/kernel/file_systems/netfs/server/VolumeManager.cpp +++ b/src/add-ons/kernel/file_systems/netfs/server/VolumeManager.cpp @@ -796,7 +796,7 @@ PRINT(("VolumeManager::OpenQuery(%p, \"%s\", 0x%lx, %ld, %ld)\n", queryDomain, q // allocate the handle QueryHandle* queryHandle = new(std::nothrow) QueryHandle(remotePort, remoteToken); - if (!handle) + if (!queryHandle) return B_NO_MEMORY; ObjectDeleter handleDeleter(queryHandle); diff --git a/src/add-ons/kernel/partitioning_systems/efi/PartitionLocker.h b/src/add-ons/kernel/partitioning_systems/efi/PartitionLocker.h index 698ce0b2e1..c1a6f14dd4 100644 --- a/src/add-ons/kernel/partitioning_systems/efi/PartitionLocker.h +++ b/src/add-ons/kernel/partitioning_systems/efi/PartitionLocker.h @@ -21,7 +21,7 @@ class PartitionLocker { public: PartitionLocker(partition_id partitionID); - ~PartitionLocker(); + virtual ~PartitionLocker(); bool IsLocked() const; partition_id PartitionId() const; diff --git a/src/add-ons/kernel/partitioning_systems/intel/PartitionLocker.h b/src/add-ons/kernel/partitioning_systems/intel/PartitionLocker.h index 369521f8da..e860762485 100644 --- a/src/add-ons/kernel/partitioning_systems/intel/PartitionLocker.h +++ b/src/add-ons/kernel/partitioning_systems/intel/PartitionLocker.h @@ -21,7 +21,7 @@ class PartitionLocker { public: PartitionLocker(partition_id partitionID); - ~PartitionLocker(); + virtual ~PartitionLocker(); bool IsLocked() const; partition_id PartitionId() const; diff --git a/src/add-ons/translators/bmp/BMPTranslator.cpp b/src/add-ons/translators/bmp/BMPTranslator.cpp index 5b9444f4d7..c9264754e8 100644 --- a/src/add-ons/translators/bmp/BMPTranslator.cpp +++ b/src/add-ons/translators/bmp/BMPTranslator.cpp @@ -627,8 +627,11 @@ BPositionIO *outDestination, color_space fromspace, MSInfoHeader &msheader) const color_map *pmap = NULL; if (fromspace == B_CMAP8) { pmap = system_colors(); - if (!pmap) + if (!pmap) { + delete [] bmpRowData; + delete [] bitsRowData; return B_ERROR; + } } while (rd == static_cast(bitsRowBytes)) { diff --git a/src/apps/debuganalyzer/gui/table/Table.cpp b/src/apps/debuganalyzer/gui/table/Table.cpp index e0b6e0ff9b..70819add04 100644 --- a/src/apps/debuganalyzer/gui/table/Table.cpp +++ b/src/apps/debuganalyzer/gui/table/Table.cpp @@ -591,6 +591,7 @@ Table::TableRowsAdded(TableModel* model, int32 rowIndex, int32 count) TableField* field = new(std::nothrow) TableField(i); if (field == NULL) { // TODO: Report error! + delete row; return; } diff --git a/src/apps/icon-o-matic/style/SetGradientCommand.cpp b/src/apps/icon-o-matic/style/SetGradientCommand.cpp index e3addaa3df..e9f2570797 100644 --- a/src/apps/icon-o-matic/style/SetGradientCommand.cpp +++ b/src/apps/icon-o-matic/style/SetGradientCommand.cpp @@ -64,8 +64,10 @@ SetGradientCommand::Perform() *fGradient = *fStyle->Gradient(); else { fGradient = new (nothrow) Gradient(*fStyle->Gradient()); - if (!fGradient) + if (!fGradient) { + delete clone; return B_NO_MEMORY; + } } } else { // the style didn't have a gradient set diff --git a/src/kits/app/AreaLink.cpp b/src/kits/app/AreaLink.cpp index bf22d46942..bd093ed64f 100644 --- a/src/kits/app/AreaLink.cpp +++ b/src/kits/app/AreaLink.cpp @@ -24,18 +24,18 @@ class AreaLinkHeader { AreaLinkHeader() { MakeEmpty(); fLock = B_NAME_NOT_FOUND; } void SetAttachmentCount(uint32 size) { fAttachmentCount = size; } - uint32 GetAttachmentCount() { return fAttachmentCount; } + uint32 GetAttachmentCount() const { return fAttachmentCount; } void SetAttachmentSize(uint32 size) { fAttachmentSize = size; } - uint32 GetAttachmentSize() { return fAttachmentSize; } + uint32 GetAttachmentSize() const { return fAttachmentSize; } void AddAttachment(uint32 size) { fAttachmentSize += size; fAttachmentCount++; } void SetLockSem(sem_id sem) { fLock = sem; } - sem_id GetLockSem() { return fLock; } + sem_id GetLockSem() const { return fLock; } void MakeEmpty() { fAttachmentCount = 0; fAttachmentSize = 0; } - area_info GetInfo() { return fInfo; } + area_info GetInfo() const { return fInfo; } void SetInfo(const area_info &newInfo) { fInfo = newInfo; } private: @@ -61,8 +61,9 @@ AreaLink::AreaLink() :fAttachList(new BList(0)), fTarget(B_NAME_NOT_FOUND), fAreaIsOk(false), - fHaveLock(false) - + fHaveLock(false), + fBaseAddress(0), + fHeader(0) { } diff --git a/src/kits/bluetooth/KitSupport.cpp b/src/kits/bluetooth/KitSupport.cpp index 5c7483d9fc..65f29bedc3 100644 --- a/src/kits/bluetooth/KitSupport.cpp +++ b/src/kits/bluetooth/KitSupport.cpp @@ -16,10 +16,11 @@ BMessenger* _RetrieveBluetoothMessenger(void) // Fix/review: leaking memory here BMessenger* fMessenger = new BMessenger(BLUETOOTH_SIGNATURE); - if (fMessenger == NULL || !fMessenger->IsValid()) - return NULL; - else - return fMessenger; + if (fMessenger == NULL || !fMessenger->IsValid()) { + delete fMessenger; + return NULL; + } else + return fMessenger; } @@ -32,5 +33,5 @@ uint8 GetInquiryTime() void SetInquiryTime(uint8 time) { ((void)(time)); - } + diff --git a/src/kits/interface/ListItem.cpp b/src/kits/interface/ListItem.cpp index 8010fa1b4d..22d5268038 100644 --- a/src/kits/interface/ListItem.cpp +++ b/src/kits/interface/ListItem.cpp @@ -17,6 +17,7 @@ BListItem::BListItem(uint32 level, bool expanded) : fTop(0.0), + fTemporaryList(0), fWidth(0), fHeight(0), fLevel(level), diff --git a/src/kits/interface/Picture.cpp b/src/kits/interface/Picture.cpp index d35e91a9b7..4e89ca41eb 100644 --- a/src/kits/interface/Picture.cpp +++ b/src/kits/interface/Picture.cpp @@ -550,8 +550,10 @@ _BPictureExtent_::Unflatten(BDataIO *stream) for (int32 i = 0; i < count; i++) { BPicture* picture = new BPicture; status_t status = picture->Unflatten(stream); - if (status < B_OK) + if (status < B_OK) { + delete picture; return status; + } AddPicture(picture); } diff --git a/src/kits/locale/Collator.cpp b/src/kits/locale/Collator.cpp index 3cfa829f81..e8d1299ee1 100644 --- a/src/kits/locale/Collator.cpp +++ b/src/kits/locale/Collator.cpp @@ -92,7 +92,8 @@ BCollator::BCollator(BCollatorAddOn *collator, int8 strength, BCollator::BCollator(BMessage *archive) : BArchivable(archive), fCollator(NULL), - fCollatorImage(B_ERROR) + fCollatorImage(B_ERROR), + fIgnorePunctuation(true) { #if HAIKU_TARGET_PLATFORM_HAIKU int32 data; diff --git a/src/kits/locale/GenericNumberFormat.cpp b/src/kits/locale/GenericNumberFormat.cpp index bfece8e523..d1e63ec073 100644 --- a/src/kits/locale/GenericNumberFormat.cpp +++ b/src/kits/locale/GenericNumberFormat.cpp @@ -1016,6 +1016,9 @@ BGenericNumberFormat::BGenericNumberFormat() // destructor BGenericNumberFormat::~BGenericNumberFormat() { + delete fSignSymbols; + delete fMantissaSignSymbols; + delete fExponentSignSymbols; } // FormatInteger diff --git a/src/kits/locale/Language.cpp b/src/kits/locale/Language.cpp index 64f8e65775..fec69317f4 100644 --- a/src/kits/locale/Language.cpp +++ b/src/kits/locale/Language.cpp @@ -93,8 +93,7 @@ BLanguage::BLanguage(const char *language) BLanguage::~BLanguage() { - if (fICULocale != NULL) - delete fICULocale; + delete fICULocale; for (int32 i = B_NUM_LANGUAGE_STRINGS;i-- > 0;) free(fStrings[i]); diff --git a/src/kits/locale/NumberFormatParameters.cpp b/src/kits/locale/NumberFormatParameters.cpp index 1930e8d81f..53a91bb3b1 100644 --- a/src/kits/locale/NumberFormatParameters.cpp +++ b/src/kits/locale/NumberFormatParameters.cpp @@ -189,6 +189,7 @@ BNumberFormatParameters::operator=(const BNumberFormatParameters &other) fUseBasePrefix = other.fUseBasePrefix; fMinimalIntegerDigits = other.fMinimalIntegerDigits; fFlags = other.fFlags; + fUseZeroPadding = other.fUseZeroPadding; return *this; } diff --git a/src/kits/mail/ChainRunner.cpp b/src/kits/mail/ChainRunner.cpp index a0e11a3e43..3aff49db06 100644 --- a/src/kits/mail/ChainRunner.cpp +++ b/src/kits/mail/ChainRunner.cpp @@ -476,9 +476,7 @@ BMailChainRunner::get_messages(BStringList *list) if (err == B_MAIL_DISCARD) entry->Remove(); - if (file != NULL) - delete file; - + delete file; delete entry; delete headers; delete folder; diff --git a/src/kits/mail/MailAttachment.cpp b/src/kits/mail/MailAttachment.cpp index 5008039fdc..4af8dfd9d1 100644 --- a/src/kits/mail/MailAttachment.cpp +++ b/src/kits/mail/MailAttachment.cpp @@ -419,8 +419,7 @@ BAttributedMailAttachment::~BAttributedMailAttachment() { status_t BAttributedMailAttachment::Initialize() { // _data & _attributes_attach will be deleted by the container - if (fContainer != NULL) - delete fContainer; + delete fContainer; fContainer = new BMIMEMultipartMailContainer("++++++BFile++++++"); @@ -639,8 +638,10 @@ status_t BAttributedMailAttachment::RenderToRFC822(BPositionIO *render_to) { io->Write(&swapped,sizeof(int64)); void *allocd = malloc(dataLen); - if (allocd == NULL) + if (allocd == NULL) { + delete io; return B_NO_MEMORY; + } memcpy(allocd,data,dataLen); swap_data(type, allocd, dataLen, B_SWAP_HOST_TO_BENDIAN); io->Write(allocd,dataLen); diff --git a/src/kits/mail/MailChain.cpp b/src/kits/mail/MailChain.cpp index be2e2d09ba..fa6d707940 100644 --- a/src/kits/mail/MailChain.cpp +++ b/src/kits/mail/MailChain.cpp @@ -41,8 +41,7 @@ BMailChain::BMailChain(BMessage* settings) BMailChain::~BMailChain() { - if (meta_data != NULL) - delete meta_data; + delete meta_data; for (int32 i = 0; filter_settings.ItemAt(i); i++) delete (BMessage *)filter_settings.ItemAt(i); @@ -53,8 +52,7 @@ BMailChain::~BMailChain() { status_t BMailChain::Load(BMessage* settings) { - if (meta_data != NULL) - delete meta_data; + delete meta_data; meta_data = new BMessage; if (settings->HasMessage("meta_data")) diff --git a/src/kits/mail/MailMessage.cpp b/src/kits/mail/MailMessage.cpp index df68ed43af..29b38f657a 100644 --- a/src/kits/mail/MailMessage.cpp +++ b/src/kits/mail/MailMessage.cpp @@ -96,8 +96,7 @@ BEmailMessage::BEmailMessage(entry_ref *ref, uint32 defaultCharSet) BEmailMessage::~BEmailMessage() { - if (_bcc != NULL) - free(_bcc); + free(_bcc); delete _body; delete fData; @@ -327,8 +326,7 @@ void BEmailMessage::SetCC(const char *cc, uint32 charset, mail_encoding encoding } void BEmailMessage::SetBCC(const char *bcc) { - if (_bcc != NULL) - free(_bcc); + free(_bcc); _bcc = strdup(bcc); } diff --git a/src/kits/media/BufferConsumer.cpp b/src/kits/media/BufferConsumer.cpp index 4067d3b501..29ae9a2a46 100644 --- a/src/kits/media/BufferConsumer.cpp +++ b/src/kits/media/BufferConsumer.cpp @@ -308,8 +308,8 @@ BBufferConsumer::SetOutputBuffersFor(const media_source &source, free(command); if (rv == B_OK) { - if (fDeleteBufferGroup) // XXX will leak memory if port write failed - delete fDeleteBufferGroup; + // XXX will leak memory if port write failed + delete fDeleteBufferGroup; fDeleteBufferGroup = will_reclaim ? NULL : group; } return rv; diff --git a/src/kits/media/ParameterWeb.cpp b/src/kits/media/ParameterWeb.cpp index 69eca9f773..5b465ee2af 100644 --- a/src/kits/media/ParameterWeb.cpp +++ b/src/kits/media/ParameterWeb.cpp @@ -1990,8 +1990,10 @@ BDiscreteParameter::AddItem(int32 value, const char* name) int32* valueCopy = new int32(value); char* nameCopy = strndup(name, 255); - if (name != NULL && nameCopy == NULL) + if (name != NULL && nameCopy == NULL) { + delete valueCopy; return B_NO_MEMORY; + } if (!fValues->AddItem(valueCopy) || !fSelections->AddItem(nameCopy)) return B_NO_MEMORY; diff --git a/src/kits/storage/AppFileInfo.cpp b/src/kits/storage/AppFileInfo.cpp index 09877acaec..98c1890b76 100644 --- a/src/kits/storage/AppFileInfo.cpp +++ b/src/kits/storage/AppFileInfo.cpp @@ -441,8 +441,7 @@ BAppFileInfo::GetSupportedTypes(BMessage *types) const if (error == B_OK) error = types->Unflatten((const char*)buffer); // clean up - if (buffer) - free(buffer); + free(buffer); return error; } @@ -517,8 +516,7 @@ BAppFileInfo::SetSupportedTypes(const BMessage *types, bool syncAll) buffer, size); } // clean up - if (buffer) - delete[] buffer; + delete[] buffer; } else error = _RemoveData(kSupportedTypesAttribute, B_MESSAGE_TYPE); // update the MIME database, if the app signature is installed diff --git a/src/kits/storage/PathMonitor.cpp b/src/kits/storage/PathMonitor.cpp index 697fdc576b..e55427006b 100644 --- a/src/kits/storage/PathMonitor.cpp +++ b/src/kits/storage/PathMonitor.cpp @@ -976,13 +976,17 @@ BPathMonitor::StartWatching(const char* path, uint32 flags, BMessenger target) if (handler == NULL) return B_NO_MEMORY; status = handler->InitCheck(); - if (status < B_OK) + if (status < B_OK) { + delete handler; return status; + } if (watcher == NULL) { watcher = new (nothrow) BPrivate::Watcher; - if (watcher == NULL) + if (watcher == NULL) { + delete handler; return B_NO_MEMORY; + } sWatchers[target] = watcher; } diff --git a/src/kits/storage/Statable.cpp b/src/kits/storage/Statable.cpp index 84371cacf3..5acc4d0a01 100644 --- a/src/kits/storage/Statable.cpp +++ b/src/kits/storage/Statable.cpp @@ -41,7 +41,7 @@ private: }; -#if __GNUC__ > 2 +#if __GNUC__ > 3 BStatable::~BStatable() { } diff --git a/src/kits/storage/disk_device/DiskDevice.cpp b/src/kits/storage/disk_device/DiskDevice.cpp index 0d2634c134..10fda6c266 100644 --- a/src/kits/storage/disk_device/DiskDevice.cpp +++ b/src/kits/storage/disk_device/DiskDevice.cpp @@ -425,8 +425,7 @@ BDiskDevice::_GetData(partition_id id, bool deviceOnly, size_t neededSize, (user_disk_device_data*)buffer, bufferSize, &neededSize); if (error == B_BUFFER_OVERFLOW) { // buffer to small re-allocate it - if (buffer) - free(buffer); + free(buffer); buffer = malloc(neededSize); @@ -440,7 +439,7 @@ BDiskDevice::_GetData(partition_id id, bool deviceOnly, size_t neededSize, // set result / cleanup on error if (error == B_OK) *data = (user_disk_device_data*)buffer; - else if (buffer) + else free(buffer); return error; diff --git a/src/kits/storage/disk_device/DiskDeviceList.cpp b/src/kits/storage/disk_device/DiskDeviceList.cpp index fd354978e6..3b9c99d750 100644 --- a/src/kits/storage/disk_device/DiskDeviceList.cpp +++ b/src/kits/storage/disk_device/DiskDeviceList.cpp @@ -36,8 +36,7 @@ BDiskDeviceList::BDiskDeviceList(bool useOwnLocker) */ BDiskDeviceList::~BDiskDeviceList() { - if (fLocker) - delete fLocker; + delete fLocker; } // MessageReceived diff --git a/src/kits/storage/disk_device/PartitioningDialog.cpp b/src/kits/storage/disk_device/PartitioningDialog.cpp index e73821ffb3..5709eccd79 100644 --- a/src/kits/storage/disk_device/PartitioningDialog.cpp +++ b/src/kits/storage/disk_device/PartitioningDialog.cpp @@ -182,12 +182,9 @@ PartitioningDialog::_Init(BDiskScannerParameterEditor *editor) delete okMessage; if (!cancelButton && cancelMessage) delete cancelMessage; - if (okButton) - delete okButton; - if (cancelButton) - delete cancelButton; - if (mainView) - delete mainView; + delete okButton; + delete cancelButton; + delete mainView; } } return error; diff --git a/src/kits/tracker/Model.cpp b/src/kits/tracker/Model.cpp index 843c38a89a..d184c261ea 100644 --- a/src/kits/tracker/Model.cpp +++ b/src/kits/tracker/Model.cpp @@ -766,8 +766,7 @@ Model::SetLinkTo(Model *model) ASSERT(IsSymLink()); ASSERT(!fLinkTo || (fLinkTo != model)); - if (fLinkTo) - delete fLinkTo; + delete fLinkTo; fLinkTo = model; } diff --git a/src/kits/tracker/Utilities.cpp b/src/kits/tracker/Utilities.cpp index 1cb071b125..80b5bfc9f9 100644 --- a/src/kits/tracker/Utilities.cpp +++ b/src/kits/tracker/Utilities.cpp @@ -409,8 +409,8 @@ void OffscreenBitmap::NewBitmap(BRect bounds) { delete fBitmap; - fBitmap = new BBitmap(bounds, B_RGB32, true); - if (fBitmap->Lock()) { + fBitmap = new(std::nothrow) BBitmap(bounds, B_RGB32, true); + if (fBitmap && fBitmap->Lock()) { BView *view = new BView(fBitmap->Bounds(), "", B_FOLLOW_NONE, 0); fBitmap->AddChild(view); diff --git a/src/system/boot/platform/atari_m68k/fixup_tos_floppy_chksum.c b/src/system/boot/platform/atari_m68k/fixup_tos_floppy_chksum.c index 87fe8c9932..0c6ff4919b 100644 --- a/src/system/boot/platform/atari_m68k/fixup_tos_floppy_chksum.c +++ b/src/system/boot/platform/atari_m68k/fixup_tos_floppy_chksum.c @@ -30,5 +30,6 @@ int main(int argc, char **argv) *p++ = (uint8_t)sum; //lseek(fd, 0LL, SEEK_SET); write(fd, §or[512-2], 2); + close(fd); return 0; } diff --git a/src/system/boot/platform/bios_ia32/devices.cpp b/src/system/boot/platform/bios_ia32/devices.cpp index 6c35c4b52f..134d546e72 100644 --- a/src/system/boot/platform/bios_ia32/devices.cpp +++ b/src/system/boot/platform/bios_ia32/devices.cpp @@ -771,6 +771,7 @@ platform_add_boot_device(struct stage2_args *args, NodeList *devicesList) BIOSDrive *drive = new(nothrow) BIOSDrive(gBootDriveID); if (drive->InitCheck() != B_OK) { dprintf("no boot drive!\n"); + delete drive; return B_ERROR; } diff --git a/src/system/kernel/cache/file_cache.cpp b/src/system/kernel/cache/file_cache.cpp index 71340d81ba..0d05540d4f 100644 --- a/src/system/kernel/cache/file_cache.cpp +++ b/src/system/kernel/cache/file_cache.cpp @@ -58,7 +58,7 @@ struct file_cache_ref { last_access[index] = isWrite ? -access : access; } - inline off_t LastAccess(int32 index, bool isWrite) + inline off_t LastAccess(int32 index, bool isWrite) const { return isWrite ? -last_access[index] : last_access[index]; } diff --git a/src/system/kernel/elf.cpp b/src/system/kernel/elf.cpp index 05076c909f..13cbb75435 100644 --- a/src/system/kernel/elf.cpp +++ b/src/system/kernel/elf.cpp @@ -1933,8 +1933,7 @@ elf_load_user_image(const char *path, struct team *team, int flags, status = B_OK; error: - if (programHeaders) - free(programHeaders); + free(programHeaders); _kern_close(fd); return status; diff --git a/src/system/kernel/posix/xsi_semaphore.cpp b/src/system/kernel/posix/xsi_semaphore.cpp index 860efc8d8c..d26b3f61d6 100644 --- a/src/system/kernel/posix/xsi_semaphore.cpp +++ b/src/system/kernel/posix/xsi_semaphore.cpp @@ -796,6 +796,7 @@ _user_xsi_semget(key_t key, int numberOfSemaphores, int flags) if (semaphoreSet == NULL || !semaphoreSet->InitOK()) { TRACE_ERROR(("xsi_semget: failed to allocate a new xsi " "semaphore set\n")); + delete semaphoreSet; return ENOMEM; } atomic_add(&sXsiSemaphoreCount, numberOfSemaphores); diff --git a/src/system/kernel/thread.cpp b/src/system/kernel/thread.cpp index ca0ee01d89..aaee20e32a 100644 --- a/src/system/kernel/thread.cpp +++ b/src/system/kernel/thread.cpp @@ -1495,16 +1495,14 @@ thread_exit(void) TRACE(("thread_exit: thread %ld now a kernel thread!\n", thread->id)); } - if (threadDeathEntry != NULL) - free(threadDeathEntry); + free(threadDeathEntry); // delete the team if we're its main thread if (deleteTeam) { team_delete_team(team, debuggerPort); // we need to delete any death entry that made it to here - if (death != NULL) - delete death; + delete death; } state = disable_interrupts(); diff --git a/src/system/kernel/util/queue.cpp b/src/system/kernel/util/queue.cpp index 81dab5e2ab..617ace27e3 100644 --- a/src/system/kernel/util/queue.cpp +++ b/src/system/kernel/util/queue.cpp @@ -128,8 +128,7 @@ fixed_queue_init(fixed_queue *q, int size) void fixed_queue_destroy(fixed_queue *q) { - if (q->table) - free(q->table); + free(q->table); } diff --git a/src/system/libroot/os/driver_settings.c b/src/system/libroot/os/driver_settings.c index af6eea45a4..2bf16ad220 100644 --- a/src/system/libroot/os/driver_settings.c +++ b/src/system/libroot/os/driver_settings.c @@ -635,8 +635,10 @@ driver_settings_init(kernel_args *args) if (settings->size != 0) { handle->text = malloc(settings->size + 1); - if (handle->text == NULL) + if (handle->text == NULL) { + free(handle); return B_NO_MEMORY; + } memcpy(handle->text, settings->buffer, settings->size); handle->text[settings->size] = '\0'; @@ -782,6 +784,7 @@ load_driver_settings(const char *driverName) #ifdef _KERNEL_MODE mutex_unlock(&sLock); #endif + close(file); return NULL; } diff --git a/src/system/libroot/os/parsedate.cpp b/src/system/libroot/os/parsedate.cpp index 8187606694..2b2417f8e7 100644 --- a/src/system/libroot/os/parsedate.cpp +++ b/src/system/libroot/os/parsedate.cpp @@ -447,7 +447,7 @@ class DateMask { bool IsComplete(); private: - inline uint32 Flag(uint8 type) { return 1UL << type; } + inline uint32 Flag(uint8 type) const { return 1UL << type; } uint32 fMask; }; diff --git a/src/system/libroot/posix/dirent.c b/src/system/libroot/posix/dirent.c index d857ea40eb..f4c8104237 100644 --- a/src/system/libroot/posix/dirent.c +++ b/src/system/libroot/posix/dirent.c @@ -335,8 +335,10 @@ scandir(const char* path, struct dirent*** _entryArray, arrayCapacity *= 2; newArray = realloc(array, arrayCapacity * sizeof(void*)); - if (newArray == NULL) + if (newArray == NULL) { + free(copiedEntry); goto error; + } array = newArray; }