Don't allocate space for a mode name unless the nameLength is greater
authorChris Michael <devilhorns@comcast.net>
Fri, 24 May 2013 17:25:03 +0000 (18:25 +0100)
committerChris Michael <devilhorns@comcast.net>
Fri, 24 May 2013 17:25:53 +0000 (18:25 +0100)
than 0.

Signed-off-by: Chris Michael <devilhorns@comcast.net>
src/lib/ecore_x/xlib/ecore_x_randr.c

index b2c8807..f9178ca 100644 (file)
@@ -713,10 +713,15 @@ ecore_x_randr_modes_info_get(Ecore_X_Window root, int *num)
                        ret[i]->vSyncStart = res->modes[i].vSyncStart;
                        ret[i]->vSyncEnd = res->modes[i].vSyncEnd;
                        ret[i]->vTotal = res->modes[i].vTotal;
-                       if ((ret[i]->name = 
-                            (malloc(res->modes[i].nameLength + 1))))
-                         strncpy(ret[i]->name, res->modes[i].name,
-                                 (res->modes[i].nameLength + 1));
+                       if (res->modes[i].nameLength > 0)
+                         {
+                            if ((ret[i]->name = 
+                                 (malloc(res->modes[i].nameLength + 1))))
+                              strncpy(ret[i]->name, res->modes[i].name,
+                                      (res->modes[i].nameLength + 1));
+                            else
+                              ret[i]->name = NULL;
+                         }
                        else
                          ret[i]->name = NULL;