Actions
Bug #9157
closedrb_readlink() calls rb_str_modify_expand() too early
Description
If rb_readlink() (file.c) is called on a long symlink, Ruby tends to crash. This is present in -trunk. The problem is that the rb_str_modify_expand() statement is incorrectly placed before the statement 'size*=2'. Here is a patch:
--- - 2013-11-25 22:10:59.694183795 -0700
+++ file.c 2013-11-25 22:10:03.076352889 -0700
@@ -2529,8 +2529,8 @@
|| (rv < 0 && errno == ERANGE) /* quirky behavior of GPFS */
#endif
) {
- rb_str_modify_expand(v, size);
size *= 2;
- rb_str_modify_expand(v, size);
}
if (rv < 0) {
rb_str_resize(v, 0);
Files
Actions
Like0
Like0Like0Like0Like0Like0Like0