Some error handling bugs noted by Ronen Vainish

git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5122 42af7a65-404d-4744-a932-0658087f49c3
This commit is contained in:
patacongo 2012-09-09 22:24:52 +00:00
parent 3800458aa5
commit 08ea0ce740
3 changed files with 9 additions and 2 deletions

View File

@ -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).

View File

@ -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;

View File

@ -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;