From: Dmitry Shulga Date: February 9 2011 6:46am Subject: bzr commit into mysql-5.1 branch (Dmitry.Shulga:3586) Bug#57450 List-Archive: http://lists.mysql.com/commits/130791 X-Bug: 57450 Message-Id: <201102090647.p196lCYw011505@rcsinet13.oracle.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============1469383830893406812==" --===============1469383830893406812== MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline #At file:///Users/shulga/projects/mysql/mysql-5.1-bug57450/ based on revid:vasil.dimov@stripped 3586 Dmitry Shulga 2011-02-09 Follow up fix for bug#57450. batch_readline_init() was modified - return an error if the input source is a directory or a block device. This follow-up is necessary because on some platforms, such as Solaris, call to read() from directory may be successful. modified: client/mysql.cc client/readline.cc === modified file 'client/mysql.cc' --- a/client/mysql.cc 2011-02-05 05:02:00 +0000 +++ b/client/mysql.cc 2011-02-09 06:46:12 +0000 @@ -1131,6 +1131,8 @@ int main(int argc,char *argv[]) if (status.batch && !status.line_buff && !(status.line_buff= batch_readline_init(MAX_BATCH_BUFFER_SIZE, stdin))) { + put_info("Can't initialize batch_readline - may be the input source is " + "a directory or a block device.", INFO_ERROR, 0); free_defaults(defaults_argv); my_end(0); exit(1); === modified file 'client/readline.cc' --- a/client/readline.cc 2011-02-05 05:02:00 +0000 +++ b/client/readline.cc 2011-02-09 06:46:12 +0000 @@ -18,6 +18,7 @@ #include #include #include +#include #include "my_readline.h" static bool init_line_buffer(LINE_BUFFER *buffer,File file,ulong size, @@ -30,6 +31,13 @@ static char *intern_read_line(LINE_BUFFE LINE_BUFFER *batch_readline_init(ulong max_size,FILE *file) { LINE_BUFFER *line_buff; + MY_STAT input_file_stat; + + if (my_fstat(fileno(file), &input_file_stat, MYF(MY_WME)) || + MY_S_ISDIR(input_file_stat.st_mode) || + MY_S_ISBLK(input_file_stat.st_mode)) + return 0; + if (!(line_buff=(LINE_BUFFER*) my_malloc(sizeof(*line_buff),MYF(MY_WME | MY_ZEROFILL)))) return 0; --===============1469383830893406812== MIME-Version: 1.0 Content-Type: text/bzr-bundle; charset="us-ascii"; name="bzr/dmitry.shulga@stripped" Content-Transfer-Encoding: 7bit Content-Disposition: inline # Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: dmitry.shulga@stripped\ # 1zmxmvn8cdzxg50s # target_branch: file:///Users/shulga/projects/mysql/mysql-5.1-\ # bug57450/ # testament_sha1: a708067e8c00516927c78a5764046b58af2ea72a # timestamp: 2011-02-09 12:46:17 +0600 # base_revision_id: vasil.dimov@stripped\ # ekjin6otzuy47vn9 # # Begin bundle IyBCYXphYXIgcmV2aXNpb24gYnVuZGxlIHY0CiMKQlpoOTFBWSZTWbp+x5gAAk3fgFAwWef//38v nKC////0UAWNHgAbbQNAAAaKYmmSm0yTDFPymo0NNDQGgDamjAnpBxkyZMRiYATJgmQA0YRgCGAZ EIjUemmQhowjAEaaGE09qmQDTTTHGTJkxGJgBMmCZADRhGAIYBJJMIAmCAjIwSanpip6amekaamg DNqiSFIkGDhekyZo1DVo4mMu/wmS2kCF6zSRE8OXUnDFJFA2OezzElpMzJHwPmDxKERCiCH5HsB+ OiQTKtRVVykJZkJFckYub7l4Hb/FqKIQxahrSIljY3etr7U99g+zDV5Y6QakiZIRihQVtogAU7Fv lKXFOq1ULYfMKtnRmJPdlQRDbjlwUOo+UQafpYn85A5B1neuJZhjS0TgdIAxkCUHPHlkRWce88WO HGgwMWbydTF9iYAYOMwiovLJomBPBIbk69qit0DzDR5xCQQQp3RnHICWO40kCc6ZAOXkRcA8KkUq 2qewfT1YCKVHXdIPadCcGwv9JkKgUz6JsgIOJ3aLLtNasxD6ryt9DTle4oZSy0+m+BXIwzKjzB5A 2EtAxscEQJ9c5ZqcA5bnlhJCZCcUbSEtRc2RlBPILBkVlZ2kC0quuB11BZX3E0YaXUbTtcvuZF5X RSsGLGuVY4mUwF6mMlgriRgaqO2ksLYX5zUA3xAhtKKDtRKmmYrh+dOhSqCoqNEzyG87ys0H3N4x maRjQ2QGBXayyAtLjeQC2QUHYayk5K42KjdPWHFhy5V2yK/cjtHkdDBzNxmpPOfDSalUVOJOk4qY 1tkaQJTkxnDUzNSEQLpizGUAmeJpVmVBWVNC+hX0uz0JzPaFBSxrAEgRxhIdCjC2/jkzFGVhFGKy sCgV3jHkrjETIDNaYZkZnt7WwUV612Wbob2xQ3ctihpHt+++eCxF1AjKL4b+M9UM0UvMg+fEG4uN YzCY4H5s4Jg+lq7fUiEEF8aR4hB2iiSM7RqnBNGBAW5lkcQ8RSiWX+gyRk6qY/bzXpShtBJ1k44+ Hs9r8cTUfN57Hzv5MUNSSceuA76yAiBTYaSok/tsPAU53WfWRUBuN5QQhO7fuI/uaHMJYELRKyRS iNxbhtgPPoV5FYftTQER8Uc8D9THEo1HFTZLyevc6kkaj9TsTDvsdpfXoA646q+pyInZ1nkRgTpw B0wPF1Bhf0y1lRoLju4HFnXGi5Dgu05MjK3gUzKiC1XcTjvysY+xRzWzG5m/44xtLl4JgH0TtqHI 5jsANoaDIMIIUL4EtHPkKkZAkhQ58LQP2Pb8DI+ATO3jBzxdDY/x/cBt4K0Tjac2UhaSoo/t4k5S fjOIbkYCoHPHb+Q2PTFDbqiWdXeFS5EgUR6j7r/EUUIoqIr+dw5uzVG1KsInk2GKJjE6oWPQ0Uje Bgnn4m8PEsLhjNG1fIkQqbeHNcJA4uR3knh/S+KuEmQTgqyYqRzWycj4FSk9JXraOnN1Z/crEbI5 k8VPOqNx4AawN/CPy6FNBTYzEy70hysHvSHTOIsbGEwDMDLu6Nx1GSr6/aM2wS7mtqRnB4w8j7iV iNpMHdMLDzVZctBwHTCgVa2GB6+Q+8hVP5k+Yvv8T8CRYElUG51e1PSDnYOLeXDeOnVKV0b+jlXK PiTFQVmvZLDskSjQ5DkhvUuewzOWxzjsI6ToUWuI4Qycrj1Eai1WI1kCwtYzWs/Jmb6BgqxtVAWo 2DWFvvmTTG9MEwOGyNIMJ57E2GAd8HDbad1hClFfNMogouB2BrPQpXM3jync13Ycj4m1gTX8JVmZ n3peCcPWpUmaySwA6rEkMW2lR3GZqeehACkDyIFaNt4yPgMhZHBepQKY1ErykX5AVRXibwPuZn/x dyRThQkLp+x5gA== --===============1469383830893406812==--