aboutsummaryrefslogtreecommitdiffstats
path: root/main/utils.c
diff options
context:
space:
mode:
authortilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b>2008-06-27 13:45:03 +0000
committertilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b>2008-06-27 13:45:03 +0000
commit3c76d5d2f641422262538f20e956d2f9e21c3139 (patch)
tree6581d7a3436a0fb06ef57889f6c04e34a7f30bf5 /main/utils.c
parent30d145fa3a8f32f40c03732ada8ca948d5614ef6 (diff)
In this debugging function, copy to a buffer instead of using potentially unsafe pointers.
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@125793 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'main/utils.c')
-rw-r--r--main/utils.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/main/utils.c b/main/utils.c
index b4a715345..74ecfaf57 100644
--- a/main/utils.c
+++ b/main/utils.c
@@ -676,7 +676,7 @@ void ast_mark_lock_failed(void *lock_addr)
pthread_mutex_unlock(&lock_info->lock);
}
-int ast_find_lock_info(void *lock_addr, const char **filename, int *lineno, const char **func, const char **mutex_name)
+int ast_find_lock_info(void *lock_addr, char *filename, size_t filename_size, int *lineno, char *func, size_t func_size, char *mutex_name, size_t mutex_name_size)
{
struct thr_lock_info *lock_info;
int i = 0;
@@ -697,10 +697,10 @@ int ast_find_lock_info(void *lock_addr, const char **filename, int *lineno, cons
return -1;
}
- *filename = lock_info->locks[i].file;
+ ast_copy_string(filename, lock_info->locks[i].file, filename_size);
*lineno = lock_info->locks[i].line_num;
- *func = lock_info->locks[i].func;
- *mutex_name = lock_info->locks[i].lock_name;
+ ast_copy_string(func, lock_info->locks[i].func, func_size);
+ ast_copy_string(mutex_name, lock_info->locks[i].lock_name, mutex_name_size);
pthread_mutex_unlock(&lock_info->lock);