forked from len0rd/rockbox
Don't leak a file handle if nvram.bin is <8 bytes in size
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27011 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
8eeec17041
commit
9092f7aa45
1 changed files with 4 additions and 2 deletions
|
@ -119,12 +119,14 @@ static bool read_nvram_data(char* buf, int max_len)
|
||||||
int var_count = 0, i = 0, buf_pos = 0;
|
int var_count = 0, i = 0, buf_pos = 0;
|
||||||
#ifndef HAVE_RTC_RAM
|
#ifndef HAVE_RTC_RAM
|
||||||
int fd = open(NVRAM_FILE,O_RDONLY);
|
int fd = open(NVRAM_FILE,O_RDONLY);
|
||||||
|
int bytes;
|
||||||
if (fd < 0)
|
if (fd < 0)
|
||||||
return false;
|
return false;
|
||||||
memset(buf,0,max_len);
|
memset(buf,0,max_len);
|
||||||
if (read(fd,buf,max_len) < 8) /* min is 8 bytes,magic, ver, vars, crc32 */
|
bytes = read(fd,buf,max_len);
|
||||||
return false;
|
|
||||||
close(fd);
|
close(fd);
|
||||||
|
if (bytes < 8) /* min is 8 bytes,magic, ver, vars, crc32 */
|
||||||
|
return false;
|
||||||
#else
|
#else
|
||||||
memset(buf,0,max_len);
|
memset(buf,0,max_len);
|
||||||
/* read rtc block */
|
/* read rtc block */
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue