diff --git a/libavcodec/common.h b/libavcodec/common.h index c33812e697..ec81297ba2 100644 --- a/libavcodec/common.h +++ b/libavcodec/common.h @@ -500,6 +500,7 @@ tend= rdtsc();\ #define rand rand_is_forbidden_due_to_state_trashing #define srand srand_is_forbidden_due_to_state_trashing #define sprintf sprintf_is_forbidden_due_to_security_issues_use_snprintf +#define strcat strcat_is_forbidden_due_to_security_issues_use_pstrcat #if !(defined(LIBAVFORMAT_BUILD) || defined(_FRAMEHOOK_H)) #define printf please_use_av_log #define fprintf please_use_av_log diff --git a/vhook/ppm.c b/vhook/ppm.c index 022f6a106b..8e48dd9574 100644 --- a/vhook/ppm.c +++ b/vhook/ppm.c @@ -55,14 +55,15 @@ rwpipe *rwpipe_open( int argc, char *argv[] ) if ( this->pid == 0 ) { - char *command = av_mallocz( 10240 ); +#define COMMAND_SIZE 10240 + char *command = av_mallocz( COMMAND_SIZE ); int i; strcpy( command, "" ); for ( i = 0; i < argc; i ++ ) { - strcat( command, argv[ i ] ); - strcat( command, " " ); + pstrcat( command, COMMAND_SIZE, argv[ i ] ); + pstrcat( command, COMMAND_SIZE, " " ); } dup2( output[ 0 ], STDIN_FILENO );