diff --git a/avl/avl.c b/avl/avl.c index 5f1a8cb..5653440 100644 --- a/avl/avl.c +++ b/avl/avl.c @@ -1074,7 +1074,7 @@ static char balance_chars[3] = {'\\', '-', '/'}; static int default_key_printer (char * buffer, void * key) { - return sprintf (buffer, "%p", key); + return snprintf (buffer, AVL_KEY_PRINTER_BUFLEN, "%p", key); } /* @@ -1116,7 +1116,7 @@ print_node (avl_key_printer_fun_type key_printer, avl_node * node, link_node * link) { - char buffer[256]; + char buffer[AVL_KEY_PRINTER_BUFLEN]; unsigned int width; width = key_printer (buffer, node->key); diff --git a/avl/avl.h b/avl/avl.h index 6c24bad..3e02ce4 100644 --- a/avl/avl.h +++ b/avl/avl.h @@ -11,6 +11,8 @@ extern "C" { #endif +#define AVL_KEY_PRINTER_BUFLEN (256) + #ifndef NO_THREAD #include "thread/thread.h" #else