Merge lp:~tobi-coldtobi/drizzle/trunk-bug-1041314 into lp:drizzle

Proposed by coldtobi
Status: Merged
Approved by: Brian Aker
Approved revision: 2588
Merged at revision: 2587
Proposed branch: lp:~tobi-coldtobi/drizzle/trunk-bug-1041314
Merge into: lp:drizzle
Diff against target: 35 lines (+13/-5)
1 file modified
plugin/myisam/mi_open.cc (+13/-5)
To merge this branch: bzr merge lp:~tobi-coldtobi/drizzle/trunk-bug-1041314
Reviewer Review Type Date Requested Status
Drizzle Trunk Pending
Review via email: mp+121346@code.launchpad.net
To post a comment you must log in.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'plugin/myisam/mi_open.cc'
2--- plugin/myisam/mi_open.cc 2011-10-24 11:55:49 +0000
3+++ plugin/myisam/mi_open.cc 2012-08-26 19:30:24 +0000
4@@ -84,7 +84,8 @@
5 uint32_t i,j,len,errpos,head_length,base_pos,offset,info_length,keys,
6 key_parts,unique_key_parts,uniques;
7 char name_buff[FN_REFLEN], org_name[FN_REFLEN], index_name[FN_REFLEN],
8- data_name[FN_REFLEN], rp_buff[PATH_MAX];
9+ data_name[FN_REFLEN];
10+ char *rp_buff = NULL;
11 unsigned char *disk_cache= NULL;
12 unsigned char *disk_pos, *end_pos;
13 MI_INFO info,*m_info,*old_info;
14@@ -107,10 +108,17 @@
15 "",
16 MI_NAME_IEXT,
17 MY_UNPACK_FILENAME);
18- if (!realpath(org_name,rp_buff))
19- internal::my_load_path(rp_buff,org_name, NULL);
20- rp_buff[FN_REFLEN-1]= '\0';
21- strcpy(name_buff,rp_buff);
22+
23+ rp_buff = realpath(org_name,NULL);
24+ if (!rp_buff)
25+ {
26+ internal::my_load_path(name_buff,org_name, NULL);
27+ } else {
28+ if (strlen(rp_buff)>=FN_REFLEN) rp_buff[FN_REFLEN-1]= '\0';
29+ strcpy(name_buff,rp_buff);
30+ free(rp_buff);
31+ }
32+
33 THR_LOCK_myisam.lock();
34 if (!(old_info=test_if_reopen(name_buff)))
35 {

Subscribers

People subscribed via source and target branches

to all changes: