]> git.ipfire.org Git - thirdparty/libcgroup.git/commitdiff
cgget: fix return value checks
authorIvana Hutarova Varekova <varekova@redhat.com>
Fri, 3 Jun 2011 08:00:33 +0000 (10:00 +0200)
committerJan Safranek <jsafrane@redhat.com>
Tue, 7 Jun 2011 13:14:22 +0000 (15:14 +0200)
fix return value check in cgget (strdup and add_record_to_buffer functions)

Signed-off-by: Ivana Hutarova Varekova <varekova@redhat.com>
Signed-off-by: Jan Safranek <jsafrane@redhat.com>
src/tools/cgget.c

index 0411a51904aa10004d669b704a844d5e3ab159a4..81a5609fddfa9996af2696bc99403430c0a7f22b 100644 (file)
@@ -276,7 +276,7 @@ static int display_values(char **controllers, int max, const char *group_name,
        return result;
 }
 
-void add_record_to_buffer(char **buffer, char *record, int capacity)
+int add_record_to_buffer(char **buffer, char *record, int capacity)
 {
        int i;
 
@@ -286,8 +286,13 @@ void add_record_to_buffer(char **buffer, char *record, int capacity)
                        break;
        }
 
-       if (i < capacity)
+       if (i < capacity) {
                buffer[i] = strdup(record);
+               if (buffer[i] == NULL)
+                       return 1;
+               return 0;
+       }
+       return 1;
 }
 
 
@@ -347,7 +352,7 @@ int main(int argc, char *argv[])
 
                case 'r':
                        /* Add name to buffer. */
-                       add_record_to_buffer(names, optarg, capacity);
+                       ret = add_record_to_buffer(names, optarg, capacity);
                        if (ret) {
                                result = ret;
                                goto err;