mirror of
https://github.com/apache/nuttx.git
synced 2025-01-13 08:38:38 +08:00
various fixes (#49)
* libs: libc: math: Fix tanh() math functions * drivers: mtd: smart: Fix trivial debug message in smartfs * binfmt: libelf: Fix fd not closed on error * binfmt: Fix stack memory leak on error * fs: romfs: Fix private data not free on error * sched: group: Fix reference after free memory * sched: clock: Fix clock sync Fix clock sync when CONFIG_RTC_HIRES is enabled
This commit is contained in:
parent
077ef70b0c
commit
a8d63c0cec
9 changed files with 10 additions and 6 deletions
|
@ -186,6 +186,7 @@ int exec_module(FAR const struct binary_s *binp)
|
|||
{
|
||||
ret = -get_errno();
|
||||
berr("task_init() failed: %d\n", ret);
|
||||
kumm_free(stack);
|
||||
goto errout_with_addrenv;
|
||||
}
|
||||
|
||||
|
|
|
@ -176,6 +176,7 @@ int elf_init(FAR const char *filename, FAR struct elf_loadinfo_s *loadinfo)
|
|||
if (ret < 0)
|
||||
{
|
||||
berr("Failed to read ELF header: %d\n", ret);
|
||||
close(loadinfo->filfd);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
@ -194,6 +195,7 @@ int elf_init(FAR const char *filename, FAR struct elf_loadinfo_s *loadinfo)
|
|||
*/
|
||||
|
||||
berr("Bad ELF header: %d\n", ret);
|
||||
close(loadinfo->filfd);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
|
|
@ -4988,7 +4988,7 @@ static inline int smart_allocsector(FAR struct smart_struct_s *dev,
|
|||
physicalsector = smart_findfreephyssector(dev, FALSE);
|
||||
finfo("Alloc: log=%d, phys=%d, erase block=%d, free=%d, released=%d\n",
|
||||
logsector, physicalsector, physicalsector /
|
||||
dev->sectorsPerBlk, dev->freesectors, dev->releasecount);
|
||||
dev->sectorsPerBlk, dev->freesectors, dev->releasesectors);
|
||||
|
||||
if (physicalsector == 0xffff)
|
||||
{
|
||||
|
|
|
@ -268,6 +268,7 @@ static int romfs_open(FAR struct file *filep, FAR const char *relpath,
|
|||
if (ret < 0)
|
||||
{
|
||||
ferr("ERROR: Failed to locate start of file data: %d\n", ret);
|
||||
kmm_free(rf);
|
||||
goto errout_with_semaphore;
|
||||
}
|
||||
|
||||
|
@ -277,6 +278,7 @@ static int romfs_open(FAR struct file *filep, FAR const char *relpath,
|
|||
if (ret < 0)
|
||||
{
|
||||
ferr("ERROR: Failed configure buffering: %d\n", ret);
|
||||
kmm_free(rf);
|
||||
goto errout_with_semaphore;
|
||||
}
|
||||
|
||||
|
|
|
@ -44,6 +44,6 @@ double tanh(double x)
|
|||
double x0 = exp(x);
|
||||
double x1 = 1.0 / x0;
|
||||
|
||||
return ((x0 + x1) / (x0 - x1));
|
||||
return ((x0 - x1) / (x0 + x1));
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -40,5 +40,5 @@ float tanhf(float x)
|
|||
float x0 = expf(x);
|
||||
float x1 = 1.0F / x0;
|
||||
|
||||
return ((x0 + x1) / (x0 - x1));
|
||||
return ((x0 - x1) / (x0 + x1));
|
||||
}
|
||||
|
|
|
@ -44,6 +44,6 @@ long double tanhl(long double x)
|
|||
long double x0 = exp(x);
|
||||
long double x1 = 1.0 / x0;
|
||||
|
||||
return ((x0 + x1) / (x0 - x1));
|
||||
return ((x0 - x1) / (x0 + x1));
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -175,9 +175,7 @@ static void clock_inittime(void)
|
|||
/* (Re-)initialize the time value to match the RTC */
|
||||
|
||||
#ifndef CONFIG_CLOCK_TIMEKEEPING
|
||||
#ifndef CONFIG_RTC_HIRES
|
||||
clock_basetime(&g_basetime);
|
||||
#endif
|
||||
|
||||
#ifndef CONFIG_SCHED_TICKLESS
|
||||
g_system_timer = INITIAL_SYSTEM_TIMER_TICKS;
|
||||
|
|
|
@ -343,6 +343,7 @@ int group_initialize(FAR struct task_tcb_s *tcb)
|
|||
if (!group->tg_members)
|
||||
{
|
||||
kmm_free(group);
|
||||
tcb->cmn.group = NULL;
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue