From: Jim Meyering <[email protected]>
* lib/sa-confdb.c (confdb_sa_write): Propagate errbuf_len parameter.
* lib/sa-confdb.h: Update prototype
---
lib/sa-confdb.c | 10 ++++++----
lib/sa-confdb.h | 4 ++--
2 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/lib/sa-confdb.c b/lib/sa-confdb.c
index 30a1fc3..6a65dad 100644
--- a/lib/sa-confdb.c
+++ b/lib/sa-confdb.c
@@ -302,15 +302,17 @@ int confdb_sa_key_replace (
new_value, new_value_len);
}
-int confdb_sa_write (
- char *error_text)
+int confdb_sa_write (char *error_text, size_t errbuf_len)
{
const char *errtext;
int ret;
ret = objdb->object_write_config(&errtext);
- if (!ret)
- strcpy(error_text, errtext);
+ if (!ret) {
+ strncpy(error_text, errtext, errbuf_len);
+ if (errbuf_len > 0)
+ error_text[errbuf_len-1] = '\0';
+ }
return ret;
}
diff --git a/lib/sa-confdb.h b/lib/sa-confdb.h
index 36a1bed..bd11177 100644
--- a/lib/sa-confdb.h
+++ b/lib/sa-confdb.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008 Red Hat, Inc.
+ * Copyright (c) 2008, 2009 Red Hat, Inc.
*
* All rights reserved.
*
@@ -46,5 +46,5 @@ extern int confdb_sa_key_iter(hdb_handle_t
parent_object_handle, hdb_handle_t st
extern int confdb_sa_key_increment(hdb_handle_t parent_object_handle, const
void *key_name, int key_name_len, unsigned int *value);
extern int confdb_sa_key_decrement(hdb_handle_t parent_object_handle, const
void *key_name, int key_name_len, unsigned int *value);
extern int confdb_sa_find_destroy(hdb_handle_t find_handle);
-extern int confdb_sa_write(char *error_text);
+extern int confdb_sa_write(char *error_text, size_t errbuf_len);
extern int confdb_sa_reload(int flush, char *error_text);
--
1.6.2.rc1.285.gc5f54
_______________________________________________
Openais mailing list
[email protected]
https://lists.linux-foundation.org/mailman/listinfo/openais