You've already forked FFmpeg
mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-07-11 14:30:22 +02:00
http: fix potentially dangerous whitespace skipping code
If the string consists entirely of whitespace, this could in theory continue to write '\0' before the start of the memory allocation. In practice, it didn't really happen: the generic HTTP header parsing code already skips leading whitespaces, so the string is either empty, or consists a non-whitespace. (The generic code and the cookie code actually have different ideas about what bytes are whitespace: the former uses av_isspace(), the latter uses WHITESPACES. Fortunately, av_isspace() is a super set of the http.c specific WHITESPACES, so there's probably no case where the above assumption could have been broken.)
This commit is contained in:
@ -760,6 +760,8 @@ static int parse_set_cookie(const char *set_cookie, AVDictionary **dict)
|
|||||||
back = &cstr[strlen(cstr)-1];
|
back = &cstr[strlen(cstr)-1];
|
||||||
while (strchr(WHITESPACES, *back)) {
|
while (strchr(WHITESPACES, *back)) {
|
||||||
*back='\0';
|
*back='\0';
|
||||||
|
if (back == cstr)
|
||||||
|
break;
|
||||||
back--;
|
back--;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user