diff --git a/apps/aomdec.c b/apps/aomdec.c
index 9a052ce..2c74dd3 100644
--- a/apps/aomdec.c
+++ b/apps/aomdec.c
@@ -493,6 +493,10 @@
   /* Parse command line */
   exec_name = argv_[0];
   argv = argv_dup(argc - 1, argv_ + 1);
+  if (!argv) {
+    fprintf(stderr, "Error allocating argument list\n");
+    return EXIT_FAILURE;
+  }
 
   aom_codec_iface_t *interface = NULL;
   for (argi = argj = argv; (*argj = *argi); argi += arg.argv_step) {
@@ -1040,6 +1044,10 @@
   int error = 0;
 
   argv = argv_dup(argc - 1, argv_ + 1);
+  if (!argv) {
+    fprintf(stderr, "Error allocating argument list\n");
+    return EXIT_FAILURE;
+  }
   for (argi = argj = argv; (*argj = *argi); argi += arg.argv_step) {
     memset(&arg, 0, sizeof(arg));
     arg.argv_step = 1;
diff --git a/apps/aomenc.c b/apps/aomenc.c
index 182606f..11e548f 100644
--- a/apps/aomenc.c
+++ b/apps/aomenc.c
@@ -1993,6 +1993,10 @@
    * codec.
    */
   argv = argv_dup(argc - 1, argv_ + 1);
+  if (!argv) {
+    fprintf(stderr, "Error allocating argument list\n");
+    return EXIT_FAILURE;
+  }
   parse_global_config(&global, &argv);
 
   if (argc < 2) usage_exit();
diff --git a/common/args.c b/common/args.c
index 686fcd2..b5ede19 100644
--- a/common/args.c
+++ b/common/args.c
@@ -146,6 +146,7 @@
 
 char **argv_dup(int argc, const char **argv) {
   char **new_argv = malloc((argc + 1) * sizeof(*argv));
+  if (!new_argv) return NULL;
 
   memcpy(new_argv, argv, argc * sizeof(*argv));
   new_argv[argc] = NULL;
diff --git a/examples/svc_encoder_rtc.c b/examples/svc_encoder_rtc.c
index 2e76c96..fc2bf87 100644
--- a/examples/svc_encoder_rtc.c
+++ b/examples/svc_encoder_rtc.c
@@ -265,6 +265,10 @@
 
   // process command line options
   argv = argv_dup(argc - 1, argv_ + 1);
+  if (!argv) {
+    fprintf(stderr, "Error allocating argument list\n");
+    exit(EXIT_FAILURE);
+  }
   for (argi = argj = argv; (*argj = *argi); argi += arg.argv_step) {
     arg.argv_step = 1;
 
