mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-11-21 10:55:51 +02:00
ffmpeg: avoid scanf in keyboard command parsing
Mixing stdio and low-level IO on stdin is not safe.
This commit is contained in:
parent
3c8652208b
commit
2ab5002e3c
12
ffmpeg.c
12
ffmpeg.c
@ -3428,9 +3428,17 @@ static int check_keyboard_interaction(int64_t cur_time)
|
||||
if(!debug) debug = 1;
|
||||
while(debug & (FF_DEBUG_DCT_COEFF|FF_DEBUG_VIS_QP|FF_DEBUG_VIS_MB_TYPE)) //unsupported, would just crash
|
||||
debug += debug;
|
||||
}else
|
||||
if(scanf("%d", &debug)!=1)
|
||||
}else{
|
||||
char buf[32];
|
||||
int k = 0;
|
||||
i = 0;
|
||||
while ((k = read_key()) != '\n' && k != '\r' && i < sizeof(buf)-1)
|
||||
if (k > 0)
|
||||
buf[i++] = k;
|
||||
buf[i] = 0;
|
||||
if (k <= 0 || sscanf(buf, "%d", &debug)!=1)
|
||||
fprintf(stderr,"error parsing debug value\n");
|
||||
}
|
||||
for(i=0;i<nb_input_streams;i++) {
|
||||
input_streams[i]->st->codec->debug = debug;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user