The following commit has been merged in the master branch:
commit ecf0b87226f0db54551e2d34fca6fa45542f52a2
Author: Guillem Jover <[email protected]>
Date:   Sat Feb 20 06:16:11 2010 +0100

    dselect: Use m_strdup instead of unchecked malloc + strcpy
    
    This would cause a segfault in an OOM situation.

diff --git a/dselect/main.cc b/dselect/main.cc
index da9c0de..df01370 100644
--- a/dselect/main.cc
+++ b/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, ":");

-- 
dpkg's main repository


-- 
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]

Reply via email to