Explorar el Código

dselect: Use m_strdup instead of unchecked malloc + strcpy

This would cause a segfault in an OOM situation.
Guillem Jover hace 16 años
padre
commit
ecf0b87226
Se han modificado 1 ficheros con 2 adiciones y 2 borrados
  1. 2 2
      dselect/main.cc

+ 2 - 2
dselect/main.cc

@@ -259,11 +259,11 @@ extern "C" {
    *            --color selstate::reverse  // doesn't work FIXME
    */
   static void setcolor(const struct cmdinfo*, const char *string) {
-    char *s= (char *) malloc((strlen(string) + 1) * sizeof(char));
+    char *s;
     char *colours, *attributes, *attrib, *colourname;
     int screenpart, aval;
 
-    strcpy(s, string); // strtok modifies strings, keep string const
+    s = m_strdup(string); // strtok modifies strings, keep string const
     screenpart= findintable(screenparttable, strtok(s, ":"), _("screen part"));
     colours= strtok(NULL, ":");
     attributes= strtok(NULL, ":");