diff --git a/configure b/configure
index acfc04f8eeb56c33844e455a10a4dafd05ac9bdd..9bacced277cfcedbc280724a68181e45a9f2c7c6 100755
--- a/configure
+++ b/configure
@@ -45,6 +45,9 @@ case "$cpu" in
   mips)
     cpu="mips"
   ;;
+  sun4u)
+    cpu="sparc64"
+  ;;
   *)
     cpu="unknown"
   ;;
diff --git a/ffserver.c b/ffserver.c
index 8b220b48f60d7fb2bc0bc2adc3027ec21b567b82..ceca3df824e896acdc6af553df737bcb76bc8afe 100644
--- a/ffserver.c
+++ b/ffserver.c
@@ -3823,8 +3823,11 @@ static int parse_ffconfig(const char *filename)
                     if (!argbuf[0])
                         break;
 
-                    feed->child_argv[i] = av_malloc(strlen(argbuf + 1));
-                    strcpy(feed->child_argv[i], argbuf);
+                    if (strlen(argbuf + 1)) {
+		        feed->child_argv[i] = av_malloc(strlen(argbuf + 1));
+                        strcpy(feed->child_argv[i], argbuf);
+		    } else
+		        feed->child_argv[i] = NULL;
                 }
 
                 feed->child_argv[i] = av_malloc(30 + strlen(feed->filename));