evas_gl: Check bounds of num_fbo_fmts 88/115088/1
authorDaekwang Ryu <dkdk.ryu@samsung.com>
Thu, 16 Feb 2017 07:54:47 +0000 (16:54 +0900)
committerDaekwang Ryu <dkdk.ryu@samsung.com>
Thu, 16 Feb 2017 08:34:12 +0000 (17:34 +0900)
Valid range of num_fbo_fmts is 0 ~ 100.
Max value comes from caps.fbo_fmts length.

Change-Id: I40349c5a412809ebb3bb9cebe0e12bde454a6eaf

src/modules/evas/engines/gl_common/evas_gl_core.c

index 42ba2df..811688a 100644 (file)
@@ -783,6 +783,13 @@ _surface_cap_load(Eet_File *ef)
    if ((!data) || (length <= 0)) goto finish;
    if (data[length - 1] != 0) goto finish;
    evgl_engine->caps.num_fbo_fmts = atoi(data);
+
+   if (evgl_engine->caps.num_fbo_fmts < 0 || evgl_engine->caps.num_fbo_fmts > 100)
+     {
+        ERR("num_fbo_fmts is invalid. %d", evgl_engine->caps.num_fbo_fmts);
+        goto finish;
+     }
+
    free(data);
    data = NULL;