diff --git a/drivers/bch/bchdev_driver.c b/drivers/bch/bchdev_driver.c index 438bdfd9d01..9a7f8dcbd22 100644 --- a/drivers/bch/bchdev_driver.c +++ b/drivers/bch/bchdev_driver.c @@ -113,6 +113,7 @@ static int bch_open(FAR struct file *filep) { FAR struct inode *inode = filep->f_inode; FAR struct bchlib_s *bch; + int ret = OK; DEBUGASSERT(inode && inode->i_private); bch = (FAR struct bchlib_s *)inode->i_private; @@ -122,7 +123,7 @@ static int bch_open(FAR struct file *filep) bchlib_semtake(bch); if (bch->refs == MAX_OPENCNT) { - return -EMFILE; + ret = -EMFILE; } else { @@ -130,7 +131,7 @@ static int bch_open(FAR struct file *filep) } bchlib_semgive(bch); - return OK; + return ret; } /**************************************************************************** diff --git a/drivers/pipes/pipe.c b/drivers/pipes/pipe.c index eb898bfec73..8ffa3a2d7cb 100644 --- a/drivers/pipes/pipe.c +++ b/drivers/pipes/pipe.c @@ -218,7 +218,7 @@ int pipe2(int fd[2], size_t bufsize) /* Create a pathname to the pipe device */ - sprintf(devname, "/dev/pipe%d", pipeno); + snprintf(devname, sizeof(devname), "/dev/pipe%d", pipeno); /* Check if the pipe device has already been created */ diff --git a/fs/fat/fs_fat32.c b/fs/fat/fs_fat32.c index 78df1f1024d..7c0c6103322 100644 --- a/fs/fat/fs_fat32.c +++ b/fs/fat/fs_fat32.c @@ -547,7 +547,7 @@ static ssize_t fat_read(FAR struct file *filep, FAR char *buffer, ret = fat_currentsector(fs, ff, filep->f_pos); if (ret < 0) { - return ret; + goto errout_with_semaphore; } } @@ -799,7 +799,7 @@ static ssize_t fat_write(FAR struct file *filep, FAR const char *buffer, ret = fat_currentsector(fs, ff, filep->f_pos); if (ret < 0) { - return ret; + goto errout_with_semaphore; } }