smoothstreamingenc: check return value of mkdir()
authorMichael Niedermayer <michaelni@gmx.at>
Mon, 29 Oct 2012 02:34:17 +0000 (03:34 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Mon, 29 Oct 2012 02:34:17 +0000 (03:34 +0100)
Fixes CID732188
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavformat/smoothstreamingenc.c

index 1f2a13f..e51d088 100644 (file)
@@ -287,7 +287,11 @@ static int ism_write_header(AVFormatContext *s)
     int ret = 0, i;
     AVOutputFormat *oformat;
 
-    mkdir(s->filename, 0777);
+    if (mkdir(s->filename, 0777) < 0) {
+        av_log(s, AV_LOG_ERROR, "mkdir failed\n");
+        ret = AVERROR(errno);
+        goto fail;
+    }
 
     oformat = av_guess_format("ismv", NULL, NULL);
     if (!oformat) {
@@ -314,7 +318,11 @@ static int ism_write_header(AVFormatContext *s)
             goto fail;
         }
         snprintf(os->dirname, sizeof(os->dirname), "%s/QualityLevels(%d)", s->filename, s->streams[i]->codec->bit_rate);
-        mkdir(os->dirname, 0777);
+        if (mkdir(os->dirname, 0777) < 0) {
+            ret = AVERROR(errno);
+            av_log(s, AV_LOG_ERROR, "mkdir failed\n");
+            goto fail;
+        }
 
         ctx = avformat_alloc_context();
         if (!ctx) {