avformat/aviobuf: Fix infinite loop in ff_get_line()

Fixes ticket4152

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit eac5c7b837)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Michael Niedermayer 2014-12-03 19:05:56 +01:00
parent 03fbc282ff
commit c4e18917d4

View File

@ -674,7 +674,7 @@ int ff_get_line(AVIOContext *s, char *buf, int maxlen)
if (c && i < maxlen-1) if (c && i < maxlen-1)
buf[i++] = c; buf[i++] = c;
} while (c != '\n' && c != '\r' && c); } while (c != '\n' && c != '\r' && c);
if (c == '\r' && avio_r8(s) != '\n') if (c == '\r' && avio_r8(s) != '\n' && !avio_feof(s))
avio_skip(s, -1); avio_skip(s, -1);
buf[i] = 0; buf[i] = 0;