mirror of
https://github.com/fabiangreffrath/woof.git
synced 2025-09-24 04:29:34 -04:00
memio: fgets() fills a string even if its size is not large enough
This commit is contained in:
parent
0fb24e322f
commit
03ac60dca7
13
src/memio.c
13
src/memio.c
@ -165,7 +165,7 @@ char *mem_fgets(char *str, int count, MEMFILE *stream)
|
|||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
if (str == NULL)
|
if (str == NULL || count < 0)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
for (i = 0; i < count - 1; ++i)
|
for (i = 0; i < count - 1; ++i)
|
||||||
@ -176,9 +176,7 @@ char *mem_fgets(char *str, int count, MEMFILE *stream)
|
|||||||
{
|
{
|
||||||
if (mem_feof(stream))
|
if (mem_feof(stream))
|
||||||
return NULL;
|
return NULL;
|
||||||
|
break;
|
||||||
str[i] = '\0';
|
|
||||||
return str;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
str[i] = ch;
|
str[i] = ch;
|
||||||
@ -190,12 +188,13 @@ char *mem_fgets(char *str, int count, MEMFILE *stream)
|
|||||||
|
|
||||||
if (ch == '\n')
|
if (ch == '\n')
|
||||||
{
|
{
|
||||||
str[++i] = '\0';
|
++i;
|
||||||
return str;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return NULL;
|
str[i] = '\0';
|
||||||
|
return str;
|
||||||
}
|
}
|
||||||
|
|
||||||
int mem_fgetc(MEMFILE *stream)
|
int mem_fgetc(MEMFILE *stream)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user