Author: aljen Date: 2010-02-08 23:50:38 +0100 (Mon, 08 Feb 2010) New Revision: 35433 Changeset: http://dev.haiku-os.org/changeset/35433/haiku Modified: haiku/trunk/headers/os/opengl/GLRenderer.h haiku/trunk/headers/private/app/LinkReceiver.h haiku/trunk/headers/private/app/LinkSender.h haiku/trunk/headers/private/app/MessageUtils.h haiku/trunk/headers/private/graphics/intel_extreme/lock.h haiku/trunk/headers/private/media/TList.h haiku/trunk/headers/private/screen_saver/ScreenSaverSettings.h haiku/trunk/src/add-ons/accelerants/vmware/Cursor.c haiku/trunk/src/add-ons/kernel/bus_managers/acpi/acpi_device.c haiku/trunk/src/add-ons/kernel/busses/scsi/buslogic/buslogic.c haiku/trunk/src/add-ons/kernel/debugger/hangman/hangman.c haiku/trunk/src/add-ons/kernel/drivers/audio/hda/hda_codec.cpp haiku/trunk/src/add-ons/kernel/drivers/tty/tty.cpp haiku/trunk/src/add-ons/kernel/file_systems/googlefs/google_request.c haiku/trunk/src/add-ons/kernel/file_systems/netfs/server/ClientConnection.cpp haiku/trunk/src/add-ons/kernel/file_systems/netfs/server/NetFSServer.cpp haiku/trunk/src/add-ons/kernel/file_systems/netfs/server/VolumeManager.cpp haiku/trunk/src/add-ons/kernel/partitioning_systems/efi/PartitionLocker.h haiku/trunk/src/add-ons/kernel/partitioning_systems/intel/PartitionLocker.h haiku/trunk/src/add-ons/translators/bmp/BMPTranslator.cpp haiku/trunk/src/apps/debuganalyzer/gui/table/Table.cpp haiku/trunk/src/apps/icon-o-matic/style/SetGradientCommand.cpp haiku/trunk/src/kits/app/AreaLink.cpp haiku/trunk/src/kits/bluetooth/KitSupport.cpp haiku/trunk/src/kits/interface/ListItem.cpp haiku/trunk/src/kits/interface/Picture.cpp haiku/trunk/src/kits/locale/Collator.cpp haiku/trunk/src/kits/locale/GenericNumberFormat.cpp haiku/trunk/src/kits/locale/Language.cpp haiku/trunk/src/kits/locale/NumberFormatParameters.cpp haiku/trunk/src/kits/mail/ChainRunner.cpp haiku/trunk/src/kits/mail/MailAttachment.cpp haiku/trunk/src/kits/mail/MailChain.cpp haiku/trunk/src/kits/mail/MailMessage.cpp haiku/trunk/src/kits/media/BufferConsumer.cpp haiku/trunk/src/kits/media/ParameterWeb.cpp haiku/trunk/src/kits/storage/AppFileInfo.cpp haiku/trunk/src/kits/storage/PathMonitor.cpp haiku/trunk/src/kits/storage/Statable.cpp haiku/trunk/src/kits/storage/disk_device/DiskDevice.cpp haiku/trunk/src/kits/storage/disk_device/DiskDeviceList.cpp haiku/trunk/src/kits/storage/disk_device/PartitioningDialog.cpp haiku/trunk/src/kits/tracker/Model.cpp haiku/trunk/src/kits/tracker/Utilities.cpp haiku/trunk/src/system/boot/platform/atari_m68k/fixup_tos_floppy_chksum.c haiku/trunk/src/system/boot/platform/bios_ia32/devices.cpp haiku/trunk/src/system/kernel/cache/file_cache.cpp haiku/trunk/src/system/kernel/elf.cpp haiku/trunk/src/system/kernel/posix/xsi_semaphore.cpp haiku/trunk/src/system/kernel/thread.cpp haiku/trunk/src/system/kernel/util/queue.cpp haiku/trunk/src/system/libroot/os/driver_settings.c haiku/trunk/src/system/libroot/os/parsedate.cpp haiku/trunk/src/system/libroot/posix/dirent.c Log: Fixed various errors/warnings reported by cppcheck: * memory leaks * resource leaks * added const's to getters * removed a few reundant conditions Modified: haiku/trunk/headers/os/opengl/GLRenderer.h =================================================================== --- haiku/trunk/headers/os/opengl/GLRenderer.h 2010-02-08 20:39:52 UTC (rev 35432) +++ haiku/trunk/headers/os/opengl/GLRenderer.h 2010-02-08 22:50:38 UTC (rev 35433) @@ -17,50 +17,50 @@ { // 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 @@ #endif // GLRENDERER_H - - - - Modified: haiku/trunk/headers/private/app/LinkReceiver.h =================================================================== --- haiku/trunk/headers/private/app/LinkReceiver.h 2010-02-08 20:39:52 UTC (rev 35432) +++ haiku/trunk/headers/private/app/LinkReceiver.h 2010-02-08 22:50:38 UTC (rev 35433) @@ -27,7 +27,7 @@ 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; Modified: haiku/trunk/headers/private/app/LinkSender.h =================================================================== --- haiku/trunk/headers/private/app/LinkSender.h 2010-02-08 20:39:52 UTC (rev 35432) +++ haiku/trunk/headers/private/app/LinkSender.h 2010-02-08 22:50:38 UTC (rev 35433) @@ -22,7 +22,7 @@ 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); Modified: haiku/trunk/headers/private/app/MessageUtils.h =================================================================== --- haiku/trunk/headers/private/app/MessageUtils.h 2010-02-08 20:39:52 UTC (rev 35432) +++ haiku/trunk/headers/private/app/MessageUtils.h 2010-02-08 22:50:38 UTC (rev 35433) @@ -77,10 +77,10 @@ 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; Modified: haiku/trunk/headers/private/graphics/intel_extreme/lock.h =================================================================== --- haiku/trunk/headers/private/graphics/intel_extreme/lock.h 2010-02-08 20:39:52 UTC (rev 35432) +++ haiku/trunk/headers/private/graphics/intel_extreme/lock.h 2010-02-08 22:50:38 UTC (rev 35433) @@ -71,7 +71,7 @@ } bool - IsLocked() + IsLocked() const { return fStatus == B_OK; } Modified: haiku/trunk/headers/private/media/TList.h =================================================================== --- haiku/trunk/headers/private/media/TList.h 2010-02-08 20:39:52 UTC (rev 35432) +++ haiku/trunk/headers/private/media/TList.h 2010-02-08 22:50:38 UTC (rev 35433) @@ -82,12 +82,12 @@ return -1; } - int CountItems() + int CountItems() const { return item_count; } - bool IsEmpty() + bool IsEmpty() const { return item_count == 0; } Modified: haiku/trunk/headers/private/screen_saver/ScreenSaverSettings.h =================================================================== --- haiku/trunk/headers/private/screen_saver/ScreenSaverSettings.h 2010-02-08 20:39:52 UTC (rev 35432) +++ haiku/trunk/headers/private/screen_saver/ScreenSaverSettings.h 2010-02-08 22:50:38 UTC (rev 35433) @@ -44,16 +44,16 @@ 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 @@ 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; } Modified: haiku/trunk/src/add-ons/accelerants/vmware/Cursor.c =================================================================== --- haiku/trunk/src/add-ons/accelerants/vmware/Cursor.c 2010-02-08 20:39:52 UTC (rev 35432) +++ haiku/trunk/src/add-ons/accelerants/vmware/Cursor.c 2010-02-08 22:50:38 UTC (rev 35433) @@ -84,7 +84,7 @@ scanlineSize = 4 * ((width + 31) / 32); scanline = calloc(1, scanlineSize); - if (calloc == NULL) + if (scanline == NULL) return B_ERROR; FifoBeginWrite(); Modified: haiku/trunk/src/add-ons/kernel/bus_managers/acpi/acpi_device.c =================================================================== --- haiku/trunk/src/add-ons/kernel/bus_managers/acpi/acpi_device.c 2010-02-08 20:39:52 UTC (rev 35432) +++ haiku/trunk/src/add-ons/kernel/bus_managers/acpi/acpi_device.c 2010-02-08 22:50:38 UTC (rev 35433) @@ -92,8 +92,10 @@ 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); Modified: haiku/trunk/src/add-ons/kernel/busses/scsi/buslogic/buslogic.c =================================================================== --- haiku/trunk/src/add-ons/kernel/busses/scsi/buslogic/buslogic.c 2010-02-08 20:39:52 UTC (rev 35432) +++ haiku/trunk/src/add-ons/kernel/busses/scsi/buslogic/buslogic.c 2010-02-08 22:50:38 UTC (rev 35433) @@ -823,15 +823,20 @@ /* 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 Modified: haiku/trunk/src/add-ons/kernel/debugger/hangman/hangman.c =================================================================== --- haiku/trunk/src/add-ons/kernel/debugger/hangman/hangman.c 2010-02-08 20:39:52 UTC (rev 35432) +++ haiku/trunk/src/add-ons/kernel/debugger/hangman/hangman.c 2010-02-08 22:50:38 UTC (rev 35433) @@ -124,8 +124,10 @@ 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); Modified: haiku/trunk/src/add-ons/kernel/drivers/audio/hda/hda_codec.cpp =================================================================== --- haiku/trunk/src/add-ons/kernel/drivers/audio/hda/hda_codec.cpp 2010-02-08 20:39:52 UTC (rev 35432) +++ haiku/trunk/src/add-ons/kernel/drivers/audio/hda/hda_codec.cpp 2010-02-08 22:50:38 UTC (rev 35433) @@ -1155,8 +1155,10 @@ 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 */ Modified: haiku/trunk/src/add-ons/kernel/drivers/tty/tty.cpp =================================================================== --- haiku/trunk/src/add-ons/kernel/drivers/tty/tty.cpp 2010-02-08 20:39:52 UTC (rev 35432) +++ haiku/trunk/src/add-ons/kernel/drivers/tty/tty.cpp 2010-02-08 22:50:38 UTC (rev 35433) @@ -104,6 +104,8 @@ { } + virtual ~AbstractLocker() {} + size_t AvailableBytes() const { return fBytes; } Modified: haiku/trunk/src/add-ons/kernel/file_systems/googlefs/google_request.c =================================================================== --- haiku/trunk/src/add-ons/kernel/file_systems/googlefs/google_request.c 2010-02-08 20:39:52 UTC (rev 35432) +++ haiku/trunk/src/add-ons/kernel/file_systems/googlefs/google_request.c 2010-02-08 22:50:38 UTC (rev 35433) @@ -134,8 +134,10 @@ 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) Modified: haiku/trunk/src/add-ons/kernel/file_systems/netfs/server/ClientConnection.cpp =================================================================== --- haiku/trunk/src/add-ons/kernel/file_systems/netfs/server/ClientConnection.cpp 2010-02-08 20:39:52 UTC (rev 35432) +++ haiku/trunk/src/add-ons/kernel/file_systems/netfs/server/ClientConnection.cpp 2010-02-08 22:50:38 UTC (rev 35433) @@ -2748,8 +2748,10 @@ 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<VolumeMap> locker(fVolumes); Modified: haiku/trunk/src/add-ons/kernel/file_systems/netfs/server/NetFSServer.cpp =================================================================== --- haiku/trunk/src/add-ons/kernel/file_systems/netfs/server/NetFSServer.cpp 2010-02-08 20:39:52 UTC (rev 35432) +++ haiku/trunk/src/add-ons/kernel/file_systems/netfs/server/NetFSServer.cpp 2010-02-08 22:50:38 UTC (rev 35433) @@ -790,8 +790,10 @@ if (!securityContext) return B_NO_MEMORY; status_t error = securityContext->InitCheck(); - if (error != B_OK) + if (error != B_OK) { + delete securityContext; return error; + } ObjectDeleter<SecurityContext> securityContextDeleter(securityContext); // load from driver settings for the time being Modified: haiku/trunk/src/add-ons/kernel/file_systems/netfs/server/VolumeManager.cpp =================================================================== --- haiku/trunk/src/add-ons/kernel/file_systems/netfs/server/VolumeManager.cpp 2010-02-08 20:39:52 UTC (rev 35432) +++ haiku/trunk/src/add-ons/kernel/file_systems/netfs/server/VolumeManager.cpp 2010-02-08 22:50:38 UTC (rev 35433) @@ -796,7 +796,7 @@ // allocate the handle QueryHandle* queryHandle = new(std::nothrow) QueryHandle(remotePort, remoteToken); - if (!handle) + if (!queryHandle) return B_NO_MEMORY; ObjectDeleter<QueryHandle> handleDeleter(queryHandle); Modified: haiku/trunk/src/add-ons/kernel/partitioning_systems/efi/PartitionLocker.h =================================================================== --- haiku/trunk/src/add-ons/kernel/partitioning_systems/efi/PartitionLocker.h 2010-02-08 20:39:52 UTC (rev 35432) +++ haiku/trunk/src/add-ons/kernel/partitioning_systems/efi/PartitionLocker.h 2010-02-08 22:50:38 UTC (rev 35433) @@ -21,7 +21,7 @@ class PartitionLocker { public: PartitionLocker(partition_id partitionID); - ~PartitionLocker(); + virtual ~PartitionLocker(); bool IsLocked() const; partition_id PartitionId() const; Modified: haiku/trunk/src/add-ons/kernel/partitioning_systems/intel/PartitionLocker.h =================================================================== --- haiku/trunk/src/add-ons/kernel/partitioning_systems/intel/PartitionLocker.h 2010-02-08 20:39:52 UTC (rev 35432) +++ haiku/trunk/src/add-ons/kernel/partitioning_systems/intel/PartitionLocker.h 2010-02-08 22:50:38 UTC (rev 35433) @@ -21,7 +21,7 @@ class PartitionLocker { public: PartitionLocker(partition_id partitionID); - ~PartitionLocker(); + virtual ~PartitionLocker(); bool IsLocked() const; partition_id PartitionId() const; Modified: haiku/trunk/src/add-ons/translators/bmp/BMPTranslator.cpp =================================================================== --- haiku/trunk/src/add-ons/translators/bmp/BMPTranslator.cpp 2010-02-08 20:39:52 UTC (rev 35432) +++ haiku/trunk/src/add-ons/translators/bmp/BMPTranslator.cpp 2010-02-08 22:50:38 UTC (rev 35433) @@ -627,8 +627,11 @@ 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<ssize_t>(bitsRowBytes)) { Modified: haiku/trunk/src/apps/debuganalyzer/gui/table/Table.cpp =================================================================== --- haiku/trunk/src/apps/debuganalyzer/gui/table/Table.cpp 2010-02-08 20:39:52 UTC (rev 35432) +++ haiku/trunk/src/apps/debuganalyzer/gui/table/Table.cpp 2010-02-08 22:50:38 UTC (rev 35433) @@ -591,6 +591,7 @@ TableField* field = new(std::nothrow) TableField(i); if (field == NULL) { // TODO: Report error! + delete row; return; } Modified: haiku/trunk/src/apps/icon-o-matic/style/SetGradientCommand.cpp =================================================================== --- haiku/trunk/src/apps/icon-o-matic/style/SetGradientCommand.cpp 2010-02-08 20:39:52 UTC (rev 35432) +++ haiku/trunk/src/apps/icon-o-matic/style/SetGradientCommand.cpp 2010-02-08 22:50:38 UTC (rev 35433) @@ -64,8 +64,10 @@ *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 Modified: haiku/trunk/src/kits/app/AreaLink.cpp =================================================================== --- haiku/trunk/src/kits/app/AreaLink.cpp 2010-02-08 20:39:52 UTC (rev 35432) +++ haiku/trunk/src/kits/app/AreaLink.cpp 2010-02-08 22:50:38 UTC (rev 35433) @@ -24,18 +24,18 @@ 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 @@ :fAttachList(new BList(0)), fTarget(B_NAME_NOT_FOUND), fAreaIsOk(false), - fHaveLock(false) - + fHaveLock(false), + fBaseAddress(0), + fHeader(0) { } Modified: haiku/trunk/src/kits/bluetooth/KitSupport.cpp =================================================================== --- haiku/trunk/src/kits/bluetooth/KitSupport.cpp 2010-02-08 20:39:52 UTC (rev 35432) +++ haiku/trunk/src/kits/bluetooth/KitSupport.cpp 2010-02-08 22:50:38 UTC (rev 35433) @@ -16,10 +16,11 @@ // 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 @@ void SetInquiryTime(uint8 time) { ((void)(time)); +} -} Modified: haiku/trunk/src/kits/interface/ListItem.cpp =================================================================== --- haiku/trunk/src/kits/interface/ListItem.cpp 2010-02-08 20:39:52 UTC (rev 35432) +++ haiku/trunk/src/kits/interface/ListItem.cpp 2010-02-08 22:50:38 UTC (rev 35433) @@ -17,6 +17,7 @@ BListItem::BListItem(uint32 level, bool expanded) : fTop(0.0), + fTemporaryList(0), fWidth(0), fHeight(0), fLevel(level), Modified: haiku/trunk/src/kits/interface/Picture.cpp =================================================================== --- haiku/trunk/src/kits/interface/Picture.cpp 2010-02-08 20:39:52 UTC (rev 35432) +++ haiku/trunk/src/kits/interface/Picture.cpp 2010-02-08 22:50:38 UTC (rev 35433) @@ -550,8 +550,10 @@ 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); } Modified: haiku/trunk/src/kits/locale/Collator.cpp =================================================================== --- haiku/trunk/src/kits/locale/Collator.cpp 2010-02-08 20:39:52 UTC (rev 35432) +++ haiku/trunk/src/kits/locale/Collator.cpp 2010-02-08 22:50:38 UTC (rev 35433) @@ -92,7 +92,8 @@ BCollator::BCollator(BMessage *archive) : BArchivable(archive), fCollator(NULL), - fCollatorImage(B_ERROR) + fCollatorImage(B_ERROR), + fIgnorePunctuation(true) { #if HAIKU_TARGET_PLATFORM_HAIKU int32 data; Modified: haiku/trunk/src/kits/locale/GenericNumberFormat.cpp =================================================================== --- haiku/trunk/src/kits/locale/GenericNumberFormat.cpp 2010-02-08 20:39:52 UTC (rev 35432) +++ haiku/trunk/src/kits/locale/GenericNumberFormat.cpp 2010-02-08 22:50:38 UTC (rev 35433) @@ -1016,6 +1016,9 @@ // destructor BGenericNumberFormat::~BGenericNumberFormat() { + delete fSignSymbols; + delete fMantissaSignSymbols; + delete fExponentSignSymbols; } // FormatInteger Modified: haiku/trunk/src/kits/locale/Language.cpp =================================================================== --- haiku/trunk/src/kits/locale/Language.cpp 2010-02-08 20:39:52 UTC (rev 35432) +++ haiku/trunk/src/kits/locale/Language.cpp 2010-02-08 22:50:38 UTC (rev 35433) @@ -93,8 +93,7 @@ BLanguage::~BLanguage() { - if (fICULocale != NULL) - delete fICULocale; + delete fICULocale; for (int32 i = B_NUM_LANGUAGE_STRINGS;i-- > 0;) free(fStrings[i]); Modified: haiku/trunk/src/kits/locale/NumberFormatParameters.cpp =================================================================== --- haiku/trunk/src/kits/locale/NumberFormatParameters.cpp 2010-02-08 20:39:52 UTC (rev 35432) +++ haiku/trunk/src/kits/locale/NumberFormatParameters.cpp 2010-02-08 22:50:38 UTC (rev 35433) @@ -189,6 +189,7 @@ fUseBasePrefix = other.fUseBasePrefix; fMinimalIntegerDigits = other.fMinimalIntegerDigits; fFlags = other.fFlags; + fUseZeroPadding = other.fUseZeroPadding; return *this; } Modified: haiku/trunk/src/kits/mail/ChainRunner.cpp =================================================================== --- haiku/trunk/src/kits/mail/ChainRunner.cpp 2010-02-08 20:39:52 UTC (rev 35432) +++ haiku/trunk/src/kits/mail/ChainRunner.cpp 2010-02-08 22:50:38 UTC (rev 35433) @@ -476,9 +476,7 @@ if (err == B_MAIL_DISCARD) entry->Remove(); - if (file != NULL) - delete file; - + delete file; delete entry; delete headers; delete folder; Modified: haiku/trunk/src/kits/mail/MailAttachment.cpp =================================================================== --- haiku/trunk/src/kits/mail/MailAttachment.cpp 2010-02-08 20:39:52 UTC (rev 35432) +++ haiku/trunk/src/kits/mail/MailAttachment.cpp 2010-02-08 22:50:38 UTC (rev 35433) @@ -419,8 +419,7 @@ 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 @@ 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); Modified: haiku/trunk/src/kits/mail/MailChain.cpp =================================================================== --- haiku/trunk/src/kits/mail/MailChain.cpp 2010-02-08 20:39:52 UTC (rev 35432) +++ haiku/trunk/src/kits/mail/MailChain.cpp 2010-02-08 22:50:38 UTC (rev 35433) @@ -41,8 +41,7 @@ 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 @@ 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")) Modified: haiku/trunk/src/kits/mail/MailMessage.cpp =================================================================== --- haiku/trunk/src/kits/mail/MailMessage.cpp 2010-02-08 20:39:52 UTC (rev 35432) +++ haiku/trunk/src/kits/mail/MailMessage.cpp 2010-02-08 22:50:38 UTC (rev 35433) @@ -96,8 +96,7 @@ BEmailMessage::~BEmailMessage() { - if (_bcc != NULL) - free(_bcc); + free(_bcc); delete _body; delete fData; @@ -327,8 +326,7 @@ } void BEmailMessage::SetBCC(const char *bcc) { - if (_bcc != NULL) - free(_bcc); + free(_bcc); _bcc = strdup(bcc); } Modified: haiku/trunk/src/kits/media/BufferConsumer.cpp =================================================================== --- haiku/trunk/src/kits/media/BufferConsumer.cpp 2010-02-08 20:39:52 UTC (rev 35432) +++ haiku/trunk/src/kits/media/BufferConsumer.cpp 2010-02-08 22:50:38 UTC (rev 35433) @@ -308,8 +308,8 @@ 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; Modified: haiku/trunk/src/kits/media/ParameterWeb.cpp =================================================================== --- haiku/trunk/src/kits/media/ParameterWeb.cpp 2010-02-08 20:39:52 UTC (rev 35432) +++ haiku/trunk/src/kits/media/ParameterWeb.cpp 2010-02-08 22:50:38 UTC (rev 35433) @@ -1990,8 +1990,10 @@ 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; Modified: haiku/trunk/src/kits/storage/AppFileInfo.cpp =================================================================== --- haiku/trunk/src/kits/storage/AppFileInfo.cpp 2010-02-08 20:39:52 UTC (rev 35432) +++ haiku/trunk/src/kits/storage/AppFileInfo.cpp 2010-02-08 22:50:38 UTC (rev 35433) @@ -441,8 +441,7 @@ if (error == B_OK) error = types->Unflatten((const char*)buffer); // clean up - if (buffer) - free(buffer); + free(buffer); return error; } @@ -517,8 +516,7 @@ 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 Modified: haiku/trunk/src/kits/storage/PathMonitor.cpp =================================================================== --- haiku/trunk/src/kits/storage/PathMonitor.cpp 2010-02-08 20:39:52 UTC (rev 35432) +++ haiku/trunk/src/kits/storage/PathMonitor.cpp 2010-02-08 22:50:38 UTC (rev 35433) @@ -976,13 +976,17 @@ 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; } Modified: haiku/trunk/src/kits/storage/Statable.cpp =================================================================== --- haiku/trunk/src/kits/storage/Statable.cpp 2010-02-08 20:39:52 UTC (rev 35432) +++ haiku/trunk/src/kits/storage/Statable.cpp 2010-02-08 22:50:38 UTC (rev 35433) @@ -41,7 +41,7 @@ }; -#if __GNUC__ > 2 +#if __GNUC__ > 3 BStatable::~BStatable() { } Modified: haiku/trunk/src/kits/storage/disk_device/DiskDevice.cpp =================================================================== --- haiku/trunk/src/kits/storage/disk_device/DiskDevice.cpp 2010-02-08 20:39:52 UTC (rev 35432) +++ haiku/trunk/src/kits/storage/disk_device/DiskDevice.cpp 2010-02-08 22:50:38 UTC (rev 35433) @@ -425,8 +425,7 @@ (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 @@ // set result / cleanup on error if (error == B_OK) *data = (user_disk_device_data*)buffer; - else if (buffer) + else free(buffer); return error; Modified: haiku/trunk/src/kits/storage/disk_device/DiskDeviceList.cpp =================================================================== --- haiku/trunk/src/kits/storage/disk_device/DiskDeviceList.cpp 2010-02-08 20:39:52 UTC (rev 35432) +++ haiku/trunk/src/kits/storage/disk_device/DiskDeviceList.cpp 2010-02-08 22:50:38 UTC (rev 35433) @@ -36,8 +36,7 @@ */ BDiskDeviceList::~BDiskDeviceList() { - if (fLocker) - delete fLocker; + delete fLocker; } // MessageReceived Modified: haiku/trunk/src/kits/storage/disk_device/PartitioningDialog.cpp =================================================================== --- haiku/trunk/src/kits/storage/disk_device/PartitioningDialog.cpp 2010-02-08 20:39:52 UTC (rev 35432) +++ haiku/trunk/src/kits/storage/disk_device/PartitioningDialog.cpp 2010-02-08 22:50:38 UTC (rev 35433) @@ -182,12 +182,9 @@ 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; Modified: haiku/trunk/src/kits/tracker/Model.cpp =================================================================== --- haiku/trunk/src/kits/tracker/Model.cpp 2010-02-08 20:39:52 UTC (rev 35432) +++ haiku/trunk/src/kits/tracker/Model.cpp 2010-02-08 22:50:38 UTC (rev 35433) @@ -766,8 +766,7 @@ ASSERT(IsSymLink()); ASSERT(!fLinkTo || (fLinkTo != model)); - if (fLinkTo) - delete fLinkTo; + delete fLinkTo; fLinkTo = model; } Modified: haiku/trunk/src/kits/tracker/Utilities.cpp =================================================================== --- haiku/trunk/src/kits/tracker/Utilities.cpp 2010-02-08 20:39:52 UTC (rev 35432) +++ haiku/trunk/src/kits/tracker/Utilities.cpp 2010-02-08 22:50:38 UTC (rev 35433) @@ -409,8 +409,8 @@ 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); Modified: haiku/trunk/src/system/boot/platform/atari_m68k/fixup_tos_floppy_chksum.c =================================================================== --- haiku/trunk/src/system/boot/platform/atari_m68k/fixup_tos_floppy_chksum.c 2010-02-08 20:39:52 UTC (rev 35432) +++ haiku/trunk/src/system/boot/platform/atari_m68k/fixup_tos_floppy_chksum.c 2010-02-08 22:50:38 UTC (rev 35433) @@ -30,5 +30,6 @@ *p++ = (uint8_t)sum; //lseek(fd, 0LL, SEEK_SET); write(fd, §or[512-2], 2); + close(fd); return 0; } Modified: haiku/trunk/src/system/boot/platform/bios_ia32/devices.cpp =================================================================== --- haiku/trunk/src/system/boot/platform/bios_ia32/devices.cpp 2010-02-08 20:39:52 UTC (rev 35432) +++ haiku/trunk/src/system/boot/platform/bios_ia32/devices.cpp 2010-02-08 22:50:38 UTC (rev 35433) @@ -771,6 +771,7 @@ BIOSDrive *drive = new(nothrow) BIOSDrive(gBootDriveID); if (drive->InitCheck() != B_OK) { dprintf("no boot drive!\n"); + delete drive; return B_ERROR; } Modified: haiku/trunk/src/system/kernel/cache/file_cache.cpp =================================================================== --- haiku/trunk/src/system/kernel/cache/file_cache.cpp 2010-02-08 20:39:52 UTC (rev 35432) +++ haiku/trunk/src/system/kernel/cache/file_cache.cpp 2010-02-08 22:50:38 UTC (rev 35433) @@ -58,7 +58,7 @@ 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]; } Modified: haiku/trunk/src/system/kernel/elf.cpp =================================================================== --- haiku/trunk/src/system/kernel/elf.cpp 2010-02-08 20:39:52 UTC (rev 35432) +++ haiku/trunk/src/system/kernel/elf.cpp 2010-02-08 22:50:38 UTC (rev 35433) @@ -1933,8 +1933,7 @@ status = B_OK; error: - if (programHeaders) - free(programHeaders); + free(programHeaders); _kern_close(fd); return status; Modified: haiku/trunk/src/system/kernel/posix/xsi_semaphore.cpp =================================================================== --- haiku/trunk/src/system/kernel/posix/xsi_semaphore.cpp 2010-02-08 20:39:52 UTC (rev 35432) +++ haiku/trunk/src/system/kernel/posix/xsi_semaphore.cpp 2010-02-08 22:50:38 UTC (rev 35433) @@ -796,6 +796,7 @@ 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); Modified: haiku/trunk/src/system/kernel/thread.cpp =================================================================== --- haiku/trunk/src/system/kernel/thread.cpp 2010-02-08 20:39:52 UTC (rev 35432) +++ haiku/trunk/src/system/kernel/thread.cpp 2010-02-08 22:50:38 UTC (rev 35433) @@ -1495,16 +1495,14 @@ 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(); Modified: haiku/trunk/src/system/kernel/util/queue.cpp =================================================================== --- haiku/trunk/src/system/kernel/util/queue.cpp 2010-02-08 20:39:52 UTC (rev 35432) +++ haiku/trunk/src/system/kernel/util/queue.cpp 2010-02-08 22:50:38 UTC (rev 35433) @@ -128,8 +128,7 @@ void fixed_queue_destroy(fixed_queue *q) { - if (q->table) - free(q->table); + free(q->table); } [... truncated: 57 lines follow ...]