From 93043c1e7c7dba9b2b366444856d9b53c5997fdd Mon Sep 17 00:00:00 2001 From: Ivana Hutarova Varekova Date: Fri, 3 Jun 2011 10:00:33 +0200 Subject: [PATCH] cgget: fix return value checks fix return value check in cgget (strdup and add_record_to_buffer functions) Signed-off-by: Ivana Hutarova Varekova Signed-off-by: Jan Safranek --- src/tools/cgget.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/tools/cgget.c b/src/tools/cgget.c index 0411a519..81a5609f 100644 --- a/src/tools/cgget.c +++ b/src/tools/cgget.c @@ -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; -- 2.47.2