While I am having a look to the source of parted/parted and I at
some functions which call to malloc and strdup indeed of xmalloc and
xstrdup respectively.

   Some mallocs haven't been changed since your returned value are
checked and replace it by xmallocs will avoid the checking.



diff --git a/parted/command.c b/parted/command.c
index 7ce9090..a5c4998 100644
--- a/parted/command.c
+++ b/parted/command.c
@@ -25,6 +25,7 @@
 
 #include <stdlib.h>
 #include <string.h>
+#include "xalloc.h"
 
 Command*
 command_create (const StrList* names,
@@ -35,7 +36,7 @@ command_create (const StrList* names,
 {
        Command*        cmd;
 
-       cmd = malloc (sizeof (Command));
+       cmd = xmalloc (sizeof (Command));
         
         if (non_interactive)
                 cmd->non_interactive = 1;
diff --git a/parted/parted.c b/parted/parted.c
index 8f15ce9..73be7a4 100644
--- a/parted/parted.c
+++ b/parted/parted.c
@@ -51,6 +51,7 @@
 #include <string.h>
 #include <unistd.h>
 #include <limits.h>
+#include "xalloc.h"
 
 #ifdef ENABLE_MTRACE
 #include <mcheck.h>
@@ -1314,7 +1315,7 @@ do_print (PedDevice** dev)
                         ped_free (end);
                 }    
 
-                dev_name = strdup ((*dev)->path);
+                dev_name = xstrdup ((*dev)->path);
                 ped_device_free_all ();
 
                 *dev = ped_device_get (dev_name);
diff --git a/parted/strlist.c b/parted/strlist.c
index 7739e9b..7ddd692 100644
--- a/parted/strlist.c
+++ b/parted/strlist.c
@@ -28,6 +28,7 @@
 #include <stdlib.h>
 #include <string.h>
 #include <limits.h>
+#include "xalloc.h"
 
 #ifdef ENABLE_NLS
 
@@ -97,7 +98,7 @@ wchar_strdup (const wchar_t* str)
 #ifdef ENABLE_NLS
        return wcsdup (str);
 #else
-       return strdup (str);
+       return xstrdup (str);
 #endif
 }
 
@@ -136,7 +137,7 @@ error:
 static wchar_t*
 gettext_to_wchar (const char* str)
 {
-       return strdup (str);
+       return xstrdup (str);
 }
 
 #endif /* !ENABLE_NLS */
@@ -187,7 +188,7 @@ wchar_to_str (const wchar_t* str, size_t count)
 {
        char*           result;
 
-       result = strdup (str);
+       result = xstrdup (str);
        if (count && count < strlen (result))
                result [count] = 0;
        return result;
@@ -208,7 +209,7 @@ str_list_alloc ()
 {
        StrList*        list;
 
-       list = (StrList*) malloc (sizeof (StrList));
+       list = (StrList*) xmalloc (sizeof (StrList));
        list->next = NULL;
 
        return list;
@@ -360,7 +361,7 @@ str_list_convert (const StrList* list)
        const StrList*  walk;
        int             pos = 0;
        int             length = 1;
-       char*           str = strdup ("");
+       char*           str = xstrdup ("");
 
        for (walk = list; walk; walk = walk->next) {
                if (walk->str) {
diff --git a/parted/table.c b/parted/table.c
index 3c2edf2..f4f779c 100644
--- a/parted/table.c
+++ b/parted/table.c
@@ -44,7 +44,7 @@
 #       define wcslen strlen
 #       define wcswidth strnlen
 #       define wcscat strcat
-#       define wcsdup strdup
+#       define wcsdup xstrdup
 #endif
 

_______________________________________________
parted-devel mailing list
[email protected]
http://lists.alioth.debian.org/mailman/listinfo/parted-devel

Reply via email to