diff options
author | patacongo <patacongo@7fd9a85b-ad96-42d3-883c-3090e2eb8679> | 2012-09-09 22:24:52 +0000 |
---|---|---|
committer | patacongo <patacongo@7fd9a85b-ad96-42d3-883c-3090e2eb8679> | 2012-09-09 22:24:52 +0000 |
commit | 2b424e0424b403fa82f07cc372267645d7701edf (patch) | |
tree | 6ace3fe5230b5ea355c054a72f400ee026710580 /nuttx | |
parent | a18319347303bc29500f2e327540ffeac7143724 (diff) | |
download | px4-firmware-2b424e0424b403fa82f07cc372267645d7701edf.tar.gz px4-firmware-2b424e0424b403fa82f07cc372267645d7701edf.tar.bz2 px4-firmware-2b424e0424b403fa82f07cc372267645d7701edf.zip |
Some error handling bugs noted by Ronen Vainish
git-svn-id: https://nuttx.svn.sourceforge.net/svnroot/nuttx/trunk@5122 7fd9a85b-ad96-42d3-883c-3090e2eb8679
Diffstat (limited to 'nuttx')
-rw-r--r-- | nuttx/ChangeLog | 5 | ||||
-rw-r--r-- | nuttx/drivers/mmcsd/mmcsd_sdio.c | 4 | ||||
-rw-r--r-- | nuttx/fs/fs_fdopen.c | 2 |
3 files changed, 9 insertions, 2 deletions
diff --git a/nuttx/ChangeLog b/nuttx/ChangeLog index 6f899a7ab..3ab4302ab 100644 --- a/nuttx/ChangeLog +++ b/nuttx/ChangeLog @@ -3300,4 +3300,9 @@ but tested has been deferred until I get the right tools. * arch/arc/include/stm32/chip.h and arch/arm/src/stm32/chip.h: Add support for the STM32F103VET6. + * fs/fs_fdopen.c: Bad check for failure to allocate memory. (Noted + by Ronen Vainish). + * drivers/mmcsd/mmcsd_sdio.c: If the MMC/SD driver were ever + uninitialized then there would be a double release of memory + (Noted by Ronen Vainish). diff --git a/nuttx/drivers/mmcsd/mmcsd_sdio.c b/nuttx/drivers/mmcsd/mmcsd_sdio.c index 90c73261a..d0bc6659c 100644 --- a/nuttx/drivers/mmcsd/mmcsd_sdio.c +++ b/nuttx/drivers/mmcsd/mmcsd_sdio.c @@ -3171,7 +3171,9 @@ errout_with_buffers: rwb_uninitialize(&priv->rwbuffer); errout_with_hwinit: #endif - mmcsd_hwuninitialize(priv); + mmcsd_hwuninitialize(priv); /* This will free the private data structure */ + return ret; + errout_with_alloc: kfree(priv); return ret; diff --git a/nuttx/fs/fs_fdopen.c b/nuttx/fs/fs_fdopen.c index ee6440bf5..fd6aa88a8 100644 --- a/nuttx/fs/fs_fdopen.c +++ b/nuttx/fs/fs_fdopen.c @@ -220,7 +220,7 @@ FAR struct file_struct *fs_fdopen(int fd, int oflags, FAR _TCB *tcb) /* Allocate the IO buffer */ stream->fs_bufstart = kmalloc(CONFIG_STDIO_BUFFER_SIZE); - if (!stream) + if (!stream->fs_bufstart) { err = ENOMEM; goto errout_with_sem; |