ACK

On 16/09/13 13:42, Jan Friesse wrote:
If so, we will return error to library. This shouldn't happen as long as
library user isn't overwriting memory.

Signed-off-by: Jan Friesse <[email protected]>
---
  lib/confdb.c |   10 ++++++++++
  1 files changed, 10 insertions(+), 0 deletions(-)

diff --git a/lib/confdb.c b/lib/confdb.c
index 5d3c536..ce698e5 100644
--- a/lib/confdb.c
+++ b/lib/confdb.c
@@ -712,12 +712,17 @@ cs_error_t confdb_object_find_destroy(
        }

        context = find_iter_context(&confdb_inst->object_find_head, 
parent_object_handle);
+       if (context == NULL) {
+               error = CS_ERR_LIBRARY;
+               goto error_exit;
+       }
        error = do_find_destroy(confdb_inst, context->find_handle);
        if (error == CS_OK) {
                list_del(&context->list);
                free(context);
        }

+error_exit:
        (void)hdb_handle_put (&confdb_handle_t_db, handle);
        return error;
  }
@@ -736,12 +741,17 @@ cs_error_t confdb_object_iter_destroy(
        }

        context = find_iter_context(&confdb_inst->object_iter_head, 
parent_object_handle);
+       if (context == NULL) {
+               error = CS_ERR_LIBRARY;
+               goto error_exit;
+       }
        error = do_find_destroy(confdb_inst, context->find_handle);
        if (error == CS_OK) {
                list_del(&context->list);
                free(context);
        }

+error_exit:
        (void)hdb_handle_put (&confdb_handle_t_db, handle);
        return error;
  }


_______________________________________________
discuss mailing list
[email protected]
http://lists.corosync.org/mailman/listinfo/discuss

Reply via email to