remove + 1 from stb_strscpy and offset of -1 (n--) in readdir_raw

Fix to buffer issue where stb_strscpy would use + 1 for buffer length when stb_p_strcpy_s is called, causing a stack variable corrupted issue.
Fix to readdir_raw to no longer account for stb_strscpy having + 1 in buffer length.
This commit is contained in:
Kyle Langley 2020-03-30 22:18:40 -04:00 committed by GitHub
parent f54acd4e13
commit 385b65da00
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 2 additions and 3 deletions

5
stb.h
View File

@ -1925,8 +1925,8 @@ size_t stb_strscpy(char *d, const char *s, size_t n)
if (n) d[0] = 0;
return 0;
}
stb_p_strcpy_s(d,n+1,s);
return len + 1;
stb_p_strcpy_s(d,n,s);
return len;
}
const char *stb_plural(int n)
@ -6150,7 +6150,6 @@ static char **readdir_raw(char *dir, int return_subdirs, char *mask)
if (!n || n >= sizeof(buffer))
return NULL;
stb_fixpath(buffer);
n--;
if (n > 0 && (buffer[n-1] != '/')) {
buffer[n++] = '/';