diff --git a/cmdutils.c b/cmdutils.c
index 2c53d90daa3b451ff781fcd0d78d8172d9a16ba0..36ef1a9383b67b2c02c4fa19d6ad4868540ad43b 100644
--- a/cmdutils.c
+++ b/cmdutils.c
@@ -24,6 +24,8 @@
 
 #include "cmdutils.h"
 
+#undef exit
+
 void show_help_options(const OptionDef *options, const char *msg, int mask, int value)
 {
     const OptionDef *po;
diff --git a/ffmpeg.c b/ffmpeg.c
index b29fce231eb34cb9cae6956093a004fbd01104ed..2ee001118098a197b80c77930ae05b46015cca09 100644
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -55,6 +55,8 @@
 #define INFINITY HUGE_VAL
 #endif
 
+#undef exit
+
 /* select an input stream for an output stream */
 typedef struct AVStreamMap {
     int file_index;
diff --git a/ffplay.c b/ffplay.c
index 1b919d0b3a00ec57de499647195a4befe9e71f70..ebe31cd9b3077f7350c707ccbd85174f52e77fd5 100644
--- a/ffplay.c
+++ b/ffplay.c
@@ -49,6 +49,8 @@
  }
 #endif
 
+#undef exit
+
 //#define DEBUG_SYNC
 
 #define MAX_VIDEOQ_SIZE (5 * 256 * 1024)
diff --git a/ffserver.c b/ffserver.c
index 83cd4e4cf1cf1ad61d78ef09fe0b0bb781046f55..3c576dfc4583a8248208beb94b542bf1e6839ec6 100644
--- a/ffserver.c
+++ b/ffserver.c
@@ -47,6 +47,8 @@
 #include "ffserver.h"
 #include "random.h"
 
+#undef exit
+
 /* maximum number of simultaneous HTTP connections */
 #define HTTP_MAX_CONNECTIONS 2000
 
diff --git a/libavutil/internal.h b/libavutil/internal.h
index 74477b7629cc18f0c1c8dce063a9bd5b0d926394..eefbfa1e4a167e3913e5bc8334051cd52de81881 100644
--- a/libavutil/internal.h
+++ b/libavutil/internal.h
@@ -251,6 +251,7 @@ if((y)<(x)){\
 #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
+#define exit exit_is_forbidden
 #if !(defined(LIBAVFORMAT_BUILD) || defined(_FRAMEHOOK_H))
 #define printf please_use_av_log
 #define fprintf please_use_av_log