1 |
commit: f02db3217ea416cabafe2d65e4d03ed372c3bf0c |
2 |
Author: Alexander Bersenev <bay <AT> hackerdom <DOT> ru> |
3 |
AuthorDate: Tue Jan 31 12:30:20 2012 +0000 |
4 |
Commit: Александр Берсенев <bay <AT> hackerdom <DOT> ru> |
5 |
CommitDate: Tue Jan 31 12:30:20 2012 +0000 |
6 |
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/autodep.git;a=commit;h=f02db321 |
7 |
|
8 |
fixed crashes in ruby's rb_thread_blocking_region(). Shrink buffer for proc entrys |
9 |
|
10 |
--- |
11 |
src/hook_lib/file_hook.c | 5 +++-- |
12 |
1 files changed, 3 insertions(+), 2 deletions(-) |
13 |
|
14 |
diff --git a/src/hook_lib/file_hook.c b/src/hook_lib/file_hook.c |
15 |
index 728ab4e..cd3850a 100644 |
16 |
--- a/src/hook_lib/file_hook.c |
17 |
+++ b/src/hook_lib/file_hook.c |
18 |
@@ -22,6 +22,7 @@ |
19 |
#include <sys/un.h> |
20 |
|
21 |
#define MAXPATHLEN PATH_MAX |
22 |
+#define MAXPROCPATHLEN 512 |
23 |
#define MAXSOCKETPATHLEN 108 |
24 |
#define MAXFILEBUFFLEN 2048 |
25 |
|
26 |
@@ -292,9 +293,9 @@ static char * __get_stage(){ |
27 |
* Get full path by fd |
28 |
*/ |
29 |
ssize_t __get_path_by_fd(int fd, char *output, int output_len) { |
30 |
- char path_to_fd_link[MAXPATHLEN]; |
31 |
+ char path_to_fd_link[MAXPROCPATHLEN]; |
32 |
|
33 |
- snprintf(path_to_fd_link,MAXPATHLEN,"/proc/self/fd/%d",fd); |
34 |
+ snprintf(path_to_fd_link,MAXPROCPATHLEN,"/proc/self/fd/%d",fd); |
35 |
ssize_t bytes_num=readlink(path_to_fd_link,output,output_len-1); |
36 |
output[bytes_num]=0; // because readlink don't do this |
37 |
if(output[0]!='/') return -1; // some odd string like pipe: |