1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 21:47:46 +00:00

LibC: Make getdelim() fail with EINVAL on null input pointers

This matches some other libc's.
This commit is contained in:
Andreas Kling 2020-12-09 21:12:40 +01:00
parent 2981f10a5e
commit a34e023a33

View file

@ -663,7 +663,11 @@ int getchar()
ssize_t getdelim(char** lineptr, size_t* n, int delim, FILE* stream)
{
char *ptr, *eptr;
if (!lineptr || !n) {
errno = EINVAL;
return -1;
}
if (*lineptr == nullptr || *n == 0) {
*n = BUFSIZ;
if ((*lineptr = static_cast<char*>(malloc(*n))) == nullptr) {
@ -671,6 +675,8 @@ ssize_t getdelim(char** lineptr, size_t* n, int delim, FILE* stream)
}
}
char* ptr;
char* eptr;
for (ptr = *lineptr, eptr = *lineptr + *n;;) {
int c = fgetc(stream);
if (c == -1) {