]> git.sesse.net Git - ffmpeg/blobdiff - libavutil/channel_layout.c
Merge commit '4d05e9392f84702e3c833efa86e84c7f1cf5f612'
[ffmpeg] / libavutil / channel_layout.c
index a59ba4610f2d10b246e1592efb87d67f610ccd65..601c7e677c9596bf13cc6e03cdc8a5489f1bee97 100644 (file)
@@ -122,13 +122,16 @@ static uint64_t get_channel_layout_single(const char *name, int name_len)
             strlen(channel_names[i].name) == name_len &&
             !memcmp(channel_names[i].name, name, name_len))
             return (int64_t)1 << i;
+
+    errno = 0;
     i = strtol(name, &end, 10);
 
-    if ((end + 1 - name == name_len && *end  == 'c'))
+    if (!errno && (end + 1 - name == name_len && *end  == 'c'))
         return av_get_default_channel_layout(i);
 
+    errno = 0;
     layout = strtoll(name, &end, 0);
-    if (end - name == name_len)
+    if (!errno && end - name == name_len)
         return FFMAX(layout, 0);
     return 0;
 }