Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2014-04-18 18:29:49 +0400
committerCorinna Vinschen <corinna@vinschen.de>2014-04-18 18:29:49 +0400
commit7ae3e6b3d47492b938966b923c4065b76cf8762a (patch)
tree36cd1c4b49e440ee70369e0d002eaec3c2fcd0d9 /winsup/cygwin/cygtls.h
parentd98d7f397389cca8f96318a1644431012a6211be (diff)
* cygtls.h (TP_NUM_C_BUFS): Raise to 50 to allow SYMLOOP_MAX recursions
path_conv <-> normalize_posix_path, plus a bit of buffer. (TP_NUM_W_BUFS): Ditto. (class san): Change type of _c_cnt and _w_cnt to unsigned. * path.cc (normalize_posix_path): Guard recursion into path_conv against tmp_pathbuf overflow. Generate normalized path in call to path_conv. If the path is valid, replace dst with the normalized_path from path_conv call. Add comment to explain why we're doing this. * tls_pbuf.cc (tls_pathbuf::destroy): Only free buffers until the first buffer pointer is NULL. (tmp_pathbuf::c_get): Simplify error message. (tmp_pathbuf::w_get): Ditto. * tls_pbuf.h (class tmp_pathbuf): Change type of c_buf_old and w_buf_old to unsigned. (tmp_pathbuf::check_usage): New inline method to check if we have enough tmp_pathbuf buffers left to call a function using tmp_pathbuf buffers. * tlsoffsets.h: Regenerate. * tlsoffsets64.h: Regenerate.
Diffstat (limited to 'winsup/cygwin/cygtls.h')
-rw-r--r--winsup/cygwin/cygtls.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/winsup/cygwin/cygtls.h b/winsup/cygwin/cygtls.h
index b76dd2441..32838744d 100644
--- a/winsup/cygwin/cygtls.h
+++ b/winsup/cygwin/cygtls.h
@@ -32,8 +32,8 @@ details. */
#include "cygthread.h"
-#define TP_NUM_C_BUFS 10
-#define TP_NUM_W_BUFS 10
+#define TP_NUM_C_BUFS 50
+#define TP_NUM_W_BUFS 50
#ifdef CYGTLS_HANDLE
#include "thread.h"
@@ -290,8 +290,8 @@ class san
san *_clemente;
jmp_buf _context;
int _errno;
- int _c_cnt;
- int _w_cnt;
+ unsigned _c_cnt;
+ unsigned _w_cnt;
public:
int setup (int myerrno = 0) __attribute__ ((always_inline))
{