0 | |
diff --git a/gfs_dynbe_client.c b/gfs_dynbe_client.c
|
1 | |
index 43870b2649..62134e0a6c 100644
|
2 | |
--- a/gfs_dynbe_client.c
|
3 | |
+++ b/gfs_dynbe_client.c
|
4 | |
@@ -172,6 +172,7 @@ main(
|
5 | |
rc = globus_module_activate(GLOBUS_XIO_MODULE);
|
6 | |
if(rc != 0)
|
7 | |
{
|
8 | |
+ result = GLOBUS_FAILURE;
|
9 | |
goto error_activate;
|
10 | |
}
|
11 | |
|
12 | |
@@ -210,7 +211,7 @@ main(
|
13 | |
tmp32 = htonl(1);
|
14 | |
memcpy(&buffer[GF_DYN_ENTRY_COUNT_NDX], &tmp32, sizeof(uint32_t));
|
15 | |
|
16 | |
- strncpy((char *) &buffer[GF_DYN_CS_NDX], be_cs, GF_DYN_CS_LEN);
|
17 | |
+ strncpy((char *) &buffer[GF_DYN_CS_NDX], be_cs, GF_DYN_CS_LEN - 1);
|
18 | |
|
19 | |
result = globus_xio_open(g_xio_handle, reg_cs, NULL);
|
20 | |
if(result != GLOBUS_SUCCESS)
|
21 | |
diff --git a/gfs_gfork_master.c b/gfs_gfork_master.c
|
22 | |
index b3531e1393..ac49e7d247 100644
|
23 | |
--- a/gfs_gfork_master.c
|
24 | |
+++ b/gfs_gfork_master.c
|
25 | |
@@ -1568,7 +1568,7 @@ gfs_l_gfork_backend_xio_open_cb(
|
26 | |
memcpy(&buffer[GF_DYN_AT_ONCE_NDX], &converted_32, sizeof(uint32_t));
|
27 | |
converted_32 = htonl(g_total_cons);
|
28 | |
memcpy(&buffer[GF_DYN_TOTAL_NDX], &converted_32, sizeof(uint32_t));
|
29 | |
- strncpy((char *)&buffer[GF_DYN_CS_NDX], g_be_cs, GF_DYN_CS_LEN);
|
30 | |
+ strncpy((char *)&buffer[GF_DYN_CS_NDX], g_be_cs, GF_DYN_CS_LEN - 1);
|
31 | |
|
32 | |
result = globus_xio_register_write(
|
33 | |
handle,
|
34 | |
@@ -2041,7 +2041,7 @@ gfs_l_gfork_opts_mem_size(
|
35 | |
int * out_parms_used)
|
36 | |
{
|
37 | |
globus_result_t result;
|
38 | |
- globus_off_t val;
|
39 | |
+ globus_off_t val = 0;
|
40 | |
|
41 | |
result = gfs_l_gfork_opts_kmgint(opt[0], &val);
|
42 | |
if(result != GLOBUS_SUCCESS)
|
43 | |
diff --git a/globus_gridftp_server.c b/globus_gridftp_server.c
|
44 | |
index 0aff2fd1d6..cc0ba04b01 100644
|
45 | |
--- a/globus_gridftp_server.c
|
46 | |
+++ b/globus_gridftp_server.c
|
47 | |
@@ -535,17 +535,16 @@ globus_l_gfs_spawn_child(
|
48 | |
/* inc the connection count 2 here since we will dec it on this close
|
49 | |
and on the death of the child process */
|
50 | |
globus_gfs_config_inc_int("open_connections_count", 2);
|
51 | |
- globus_mutex_unlock(&globus_l_gfs_mutex);
|
52 | |
result = globus_xio_register_close(
|
53 | |
handle,
|
54 | |
NULL,
|
55 | |
globus_l_gfs_close_cb,
|
56 | |
- NULL);
|
57 | |
+ NULL);
|
58 | |
if(result != GLOBUS_SUCCESS)
|
59 | |
{
|
60 | |
- globus_l_gfs_close_cb(handle, result, NULL);
|
61 | |
- }
|
62 | |
- }
|
63 | |
+ globus_i_gfs_connection_closed();
|
64 | |
+ }
|
65 | |
+ }
|
66 | |
|
67 | |
GlobusGFSDebugExit();
|
68 | |
return GLOBUS_SUCCESS;
|
69 | |
@@ -613,7 +612,8 @@ globus_l_gfs_ipc_closed(
|
70 | |
}
|
71 | |
|
72 | |
handle = (globus_xio_handle_t) user_arg;
|
73 | |
- globus_mutex_unlock(&globus_l_gfs_mutex);
|
74 | |
+
|
75 | |
+ globus_mutex_lock(&globus_l_gfs_mutex);
|
76 | |
{
|
77 | |
result = globus_xio_register_close(
|
78 | |
handle,
|
79 | |
diff --git a/globus_i_gfs_config.c b/globus_i_gfs_config.c
|
80 | |
index 10963bd421..d5ee9a9a70 100644
|
81 | |
--- a/globus_i_gfs_config.c
|
82 | |
+++ b/globus_i_gfs_config.c
|
83 | |
@@ -1880,8 +1880,6 @@ globus_l_gfs_config_display_docbook_usage()
|
84 | |
|
85 | |
for(i = 0; i < option_count; i++)
|
86 | |
{
|
87 | |
- char * shortflag;
|
88 | |
- char * longflag;
|
89 | |
char * value;
|
90 | |
char * defval;
|
91 | |
|
92 | |
@@ -1909,27 +1907,19 @@ globus_l_gfs_config_display_docbook_usage()
|
93 | |
switch(o->type)
|
94 | |
{
|
95 | |
case GLOBUS_L_GFS_CONFIG_BOOL:
|
96 | |
- shortflag = "-";
|
97 | |
- longflag = "-";
|
98 | |
value = NULL;
|
99 | |
defval = o->int_value ? "TRUE" : "FALSE";
|
100 | |
break;
|
101 | |
case GLOBUS_L_GFS_CONFIG_INT:
|
102 | |
- shortflag = "-";
|
103 | |
- longflag = "-";
|
104 | |
value = "number";
|
105 | |
defval = o->int_value > 0 ?
|
106 | |
globus_common_create_string("%d", o->int_value) : NULL;
|
107 | |
break;
|
108 | |
case GLOBUS_L_GFS_CONFIG_STRING:
|
109 | |
- shortflag = "-";
|
110 | |
- longflag = "-";
|
111 | |
value = "string";
|
112 | |
defval = o->value ? o->value : NULL;
|
113 | |
break;
|
114 | |
default:
|
115 | |
- shortflag = "";
|
116 | |
- longflag = "";
|
117 | |
value = "";
|
118 | |
defval = o->value ? o->value : NULL;
|
119 | |
break;
|
120 | |
@@ -2000,8 +1990,6 @@ globus_l_gfs_config_display_asciidoc_usage()
|
121 | |
|
122 | |
for(i = 0; i < option_count; i++)
|
123 | |
{
|
124 | |
- char * shortflag;
|
125 | |
- char * longflag;
|
126 | |
char * value;
|
127 | |
char * defval;
|
128 | |
|
129 | |
@@ -2034,27 +2022,19 @@ globus_l_gfs_config_display_asciidoc_usage()
|
130 | |
switch(o->type)
|
131 | |
{
|
132 | |
case GLOBUS_L_GFS_CONFIG_BOOL:
|
133 | |
- shortflag = "-";
|
134 | |
- longflag = "-";
|
135 | |
value = NULL;
|
136 | |
defval = o->int_value ? "TRUE" : "FALSE";
|
137 | |
break;
|
138 | |
case GLOBUS_L_GFS_CONFIG_INT:
|
139 | |
- shortflag = "-";
|
140 | |
- longflag = "-";
|
141 | |
value = "number";
|
142 | |
defval = o->int_value > 0 ?
|
143 | |
globus_common_create_string("%d", o->int_value) : NULL;
|
144 | |
break;
|
145 | |
case GLOBUS_L_GFS_CONFIG_STRING:
|
146 | |
- shortflag = "-";
|
147 | |
- longflag = "-";
|
148 | |
value = "string";
|
149 | |
defval = o->value ? o->value : NULL;
|
150 | |
break;
|
151 | |
default:
|
152 | |
- shortflag = "";
|
153 | |
- longflag = "";
|
154 | |
value = "";
|
155 | |
defval = o->value ? o->value : NULL;
|
156 | |
break;
|
157 | |
diff --git a/globus_i_gfs_data.c b/globus_i_gfs_data.c
|
158 | |
index 785eba2240..0bf0ea4369 100644
|
159 | |
--- a/globus_i_gfs_data.c
|
160 | |
+++ b/globus_i_gfs_data.c
|
161 | |
@@ -736,7 +736,7 @@ globus_l_gfs_base64_decode(
|
162 | |
{
|
163 | |
int i;
|
164 | |
int j;
|
165 | |
- int D;
|
166 | |
+ int D = 0;
|
167 | |
char * p;
|
168 | |
GlobusGFSName(globus_l_gfs_base64_decode);
|
169 | |
GlobusGFSDebugEnter();
|
170 | |
@@ -1127,11 +1127,10 @@ globus_l_gfs_data_post_transfer_event_cb(
|
171 | |
|
172 | |
switch(data_handle->state)
|
173 | |
{
|
174 | |
- /* occurs if the next transfer comand happens before this function
|
175 | |
- is called to switch out of the TE_VALID state
|
176 | |
+ /* occurs if the next transfer command happens before this function
|
177 | |
+ is called to switch out of the TE_VALID state */
|
178 | |
case GLOBUS_L_GFS_DATA_HANDLE_INUSE:
|
179 | |
break;
|
180 | |
-*/
|
181 | |
|
182 | |
case GLOBUS_L_GFS_DATA_HANDLE_TE_PRE_CLOSED:
|
183 | |
/* cant free until destroy cb, put in full closed state */
|
184 | |
@@ -1161,7 +1160,7 @@ globus_l_gfs_data_post_transfer_event_cb(
|
185 | |
case GLOBUS_L_GFS_DATA_HANDLE_VALID:
|
186 | |
break;
|
187 | |
|
188 | |
- /* havent even gotten a close, how did this happen? */
|
189 | |
+ /* haven't even gotten a close, how did this happen? */
|
190 | |
case GLOBUS_L_GFS_DATA_HANDLE_CLOSED:
|
191 | |
case GLOBUS_L_GFS_DATA_HANDLE_CLOSED_AND_DESTROYED:
|
192 | |
/* these shouldnt be possible */
|
193 | |
@@ -1319,7 +1318,9 @@ globus_i_gfs_get_full_path(
|
194 | |
int cwd_len;
|
195 | |
int sc;
|
196 | |
char * slash = "/";
|
197 | |
+#ifdef WIN32
|
198 | |
char * tmp_path;
|
199 | |
+#endif
|
200 | |
char * norm_path;
|
201 | |
GlobusGFSName(globus_i_gfs_get_full_path);
|
202 | |
GlobusGFSDebugEnter();
|
203 | |
@@ -1482,7 +1483,7 @@ globus_i_gfs_data_check_path(
|
204 | |
char path[MAXPATHLEN];
|
205 | |
globus_list_t * list;
|
206 | |
globus_result_t result = GLOBUS_SUCCESS;
|
207 | |
- globus_l_gfs_alias_ent_t * alias_ent;
|
208 | |
+ globus_l_gfs_alias_ent_t * alias_ent = GLOBUS_NULL;
|
209 | |
char * true_path = GLOBUS_NULL;
|
210 | |
char * start_path;
|
211 | |
int in_path_len;
|
212 | |
@@ -1730,7 +1731,7 @@ globus_i_gfs_data_check_path(
|
213 | |
|
214 | |
if(!rp_list && ret_path)
|
215 | |
{
|
216 | |
- if(alias_ent->realpath)
|
217 | |
+ if(alias_ent && alias_ent->realpath)
|
218 | |
{
|
219 | |
strncpy(path, alias_ent->realpath, alias_ent->realpath_len);
|
220 | |
strcpy(path + alias_ent->realpath_len,
|
221 | |
@@ -2489,58 +2490,6 @@ globus_l_gfs_authorize_cb(
|
222 | |
GlobusGFSDebugExit();
|
223 | |
}
|
224 | |
|
225 | |
-static
|
226 | |
-globus_result_t
|
227 | |
-globus_l_gfs_data_decode_passed_cred(
|
228 | |
- char * encoded_cred,
|
229 | |
- gss_cred_id_t * out_cred)
|
230 | |
-{
|
231 | |
- OM_uint32 major_status;
|
232 | |
- OM_uint32 minor_status;
|
233 | |
- gss_buffer_desc buf;
|
234 | |
- gss_cred_id_t cred;
|
235 | |
- globus_result_t res;
|
236 | |
- GlobusGFSName(globus_l_gfs_data_decode_passed_cred);
|
237 | |
- GlobusGFSDebugEnter();
|
238 | |
-
|
239 | |
- buf.value = globus_libc_strdup(encoded_cred);
|
240 | |
-
|
241 | |
- res = globus_l_gfs_base64_decode(
|
242 | |
- (globus_byte_t *) encoded_cred, buf.value, &buf.length);
|
243 | |
- if(res != GLOBUS_SUCCESS)
|
244 | |
- {
|
245 | |
- globus_free(buf.value);
|
246 | |
- res = GlobusGFSErrorGeneric(
|
247 | |
- "Invalid base64 input for credential.");
|
248 | |
- }
|
249 | |
- else
|
250 | |
- {
|
251 | |
- major_status = gss_import_cred(
|
252 | |
- &minor_status,
|
253 | |
- &cred,
|
254 | |
- GSS_C_NO_OID,
|
255 | |
- 0,
|
256 | |
- &buf,
|
257 | |
- 0,
|
258 | |
- NULL);
|
259 | |
- globus_free(buf.value);
|
260 | |
- if(major_status != GSS_S_COMPLETE)
|
261 | |
- {
|
262 | |
- res = GlobusGFSErrorWrapFailed(
|
263 | |
- "Credential import", minor_status);
|
264 | |
- }
|
265 | |
- else
|
266 | |
- {
|
267 | |
- *out_cred = cred;
|
268 | |
- }
|
269 | |
- }
|
270 | |
-
|
271 | |
- GlobusGFSDebugExit();
|
272 | |
-
|
273 | |
- return res;
|
274 | |
-}
|
275 | |
-
|
276 | |
-
|
277 | |
/*
|
278 | |
* this is called when writing. if file exists it is a write
|
279 | |
* request, if it does not exists it is a create request
|
280 | |
@@ -2913,14 +2862,12 @@ globus_l_gfs_data_auth_init_cb(
|
281 | |
globus_bool_t destroy_session = GLOBUS_FALSE;
|
282 | |
globus_bool_t destroy_op = GLOBUS_FALSE;
|
283 | |
globus_l_gfs_data_operation_t * op;
|
284 | |
- globus_gfs_session_info_t * session_info;
|
285 | |
globus_gfs_finished_info_t finished_info;
|
286 | |
globus_bool_t ready = GLOBUS_FALSE;
|
287 | |
GlobusGFSName(globus_l_gfs_data_auth_init_cb);
|
288 | |
GlobusGFSDebugEnter();
|
289 | |
|
290 | |
op = (globus_l_gfs_data_operation_t *) user_arg;
|
291 | |
- session_info = (globus_gfs_session_info_t *) op->info_struct;
|
292 | |
|
293 | |
memset(&finished_info, '\0', sizeof(globus_gfs_finished_info_t));
|
294 | |
if(result != GLOBUS_SUCCESS)
|
295 | |
@@ -5069,7 +5016,7 @@ globus_l_gfs_base64_encode(
|
296 | |
{
|
297 | |
int i;
|
298 | |
int j;
|
299 | |
- unsigned char c;
|
300 | |
+ unsigned char c = 0;
|
301 | |
for (i=0,j=0; i < in_len; i++)
|
302 | |
{
|
303 | |
switch (i%3)
|
304 | |
@@ -5154,9 +5101,7 @@ void
|
305 | |
globus_i_gfs_data_init()
|
306 | |
{
|
307 | |
char * restrict_path;
|
308 | |
- int rc;
|
309 | |
globus_result_t result;
|
310 | |
- char * driver;
|
311 | |
GlobusGFSName(globus_i_gfs_data_init);
|
312 | |
GlobusGFSDebugEnter();
|
313 | |
|
314 | |
@@ -5514,11 +5459,11 @@ globus_l_gfs_data_stat_kickout(
|
315 | |
reply.id = bounce_info->op->id;
|
316 | |
reply.result = bounce_info->error ?
|
317 | |
globus_error_put(bounce_info->error) : GLOBUS_SUCCESS;
|
318 | |
- reply.info.stat.stat_array = bounce_info->stat_array;
|
319 | |
- reply.info.stat.stat_count = bounce_info->stat_count;
|
320 | |
- reply.info.stat.uid = bounce_info->op->session_handle->uid;
|
321 | |
+ reply.info.stat.stat_array = bounce_info->stat_array;
|
322 | |
+ reply.info.stat.stat_count = bounce_info->stat_count;
|
323 | |
+ reply.info.stat.uid = (int)bounce_info->op->session_handle->uid;
|
324 | |
reply.info.stat.gid_count = bounce_info->op->session_handle->gid_count;
|
325 | |
- reply.info.stat.gid_array = bounce_info->op->session_handle->gid_array;
|
326 | |
+ reply.info.stat.gid_array = (int *)bounce_info->op->session_handle->gid_array;
|
327 | |
|
328 | |
/* pull response code from error */
|
329 | |
if(bounce_info->final_stat && reply.result != GLOBUS_SUCCESS &&
|
330 | |
@@ -5596,7 +5541,7 @@ globus_l_gfs_data_approve_popen(
|
331 | |
char * end;
|
332 | |
char * ptr;
|
333 | |
char * alias;
|
334 | |
- char * prog;
|
335 | |
+ char * prog = NULL;
|
336 | |
char * tmp;
|
337 | |
char * out = NULL;
|
338 | |
globus_bool_t found;
|
339 | |
@@ -5752,7 +5697,7 @@ globus_l_gfs_data_load_stack(
|
340 | |
char * default_stack,
|
341 | |
globus_bool_t subst_io_drivers)
|
342 | |
{
|
343 | |
- char * parsed_driver_string;
|
344 | |
+ char * parsed_driver_string = NULL;
|
345 | |
char * driver_string;
|
346 | |
globus_result_t result = GLOBUS_SUCCESS;
|
347 | |
GlobusGFSName(globus_l_gfs_data_load_stack);
|
348 | |
@@ -5835,7 +5780,7 @@ globus_i_gfs_data_request_command(
|
349 | |
{
|
350 | |
globus_result_t res;
|
351 | |
int rc;
|
352 | |
- globus_gfs_acl_action_t action;
|
353 | |
+ globus_gfs_acl_action_t action = GFS_ACL_ACTION_INIT;
|
354 | |
globus_bool_t call = GLOBUS_TRUE;
|
355 | |
globus_l_gfs_data_operation_t * op;
|
356 | |
globus_result_t result;
|
357 | |
@@ -7621,7 +7566,6 @@ globus_i_gfs_data_request_handle_destroy(
|
358 | |
globus_result_t result;
|
359 | |
globus_l_gfs_data_session_t * session_handle;
|
360 | |
globus_l_gfs_data_handle_t * data_handle;
|
361 | |
- int old_state_dbg;
|
362 | |
GlobusGFSName(globus_i_gfs_data_request_handle_destroy);
|
363 | |
GlobusGFSDebugEnter();
|
364 | |
|
365 | |
@@ -7643,7 +7587,6 @@ globus_i_gfs_data_request_handle_destroy(
|
366 | |
|
367 | |
data_handle->destroy_requested = GLOBUS_TRUE;
|
368 | |
|
369 | |
- old_state_dbg = data_handle->state;
|
370 | |
session_arg = session_handle->session_arg;
|
371 | |
switch(data_handle->state)
|
372 | |
{
|
373 | |
@@ -7783,7 +7726,11 @@ globus_l_gfs_data_hybrid_session_start_cb(
|
374 | |
{
|
375 | |
hybrid_op = op->hybrid_op;
|
376 | |
}
|
377 | |
-
|
378 | |
+ else
|
379 | |
+ {
|
380 | |
+ return;
|
381 | |
+ }
|
382 | |
+
|
383 | |
if(op->type == GLOBUS_L_GFS_DATA_INFO_TYPE_PASSIVE)
|
384 | |
{
|
385 | |
if(reply->result != GLOBUS_SUCCESS)
|
386 | |
@@ -7855,12 +7802,8 @@ globus_l_gfs_data_hybrid_session_start_cb(
|
387 | |
hybrid_op->user_arg);
|
388 | |
}
|
389 | |
}
|
390 | |
- if(hybrid_op)
|
391 | |
- {
|
392 | |
- globus_l_gfs_data_operation_destroy(hybrid_op);
|
393 | |
- }
|
394 | |
-
|
395 | |
|
396 | |
+ globus_l_gfs_data_operation_destroy(hybrid_op);
|
397 | |
}
|
398 | |
|
399 | |
static
|
400 | |
@@ -8710,9 +8653,9 @@ globus_i_gfs_data_request_recv(
|
401 | |
return;
|
402 | |
|
403 | |
error_module:
|
404 | |
+ globus_gridftp_server_finished_transfer(op, result);
|
405 | |
error_op:
|
406 | |
error_handle:
|
407 | |
- globus_gridftp_server_finished_transfer(op, result);
|
408 | |
GlobusGFSDebugExitWithError();
|
409 | |
}
|
410 | |
|
411 | |
@@ -8901,9 +8844,9 @@ globus_i_gfs_data_request_send(
|
412 | |
return;
|
413 | |
|
414 | |
error_module:
|
415 | |
+ globus_gridftp_server_finished_transfer(op, result);
|
416 | |
error_op:
|
417 | |
error_handle:
|
418 | |
- globus_gridftp_server_finished_transfer(op, result);
|
419 | |
GlobusGFSDebugExitWithError();
|
420 | |
}
|
421 | |
|
422 | |
@@ -9056,7 +8999,7 @@ globus_l_gfs_data_list_stat_cb(
|
423 | |
globus_size_t buffer_len;
|
424 | |
globus_l_gfs_data_stat_bounce_t * bounce_info;
|
425 | |
globus_gfs_stat_info_t * stat_info;
|
426 | |
- globus_result_t result;
|
427 | |
+ globus_result_t result = GLOBUS_SUCCESS;
|
428 | |
globus_gfs_stat_t * stat_array;
|
429 | |
globus_gfs_stat_t stat_temp;
|
430 | |
int stat_count;
|
431 | |
@@ -9735,7 +9678,6 @@ globus_l_gfs_data_begin_cb(
|
432 | |
globus_gfs_event_info_t event_reply;
|
433 | |
globus_gfs_event_info_t event_info;
|
434 | |
globus_l_gfs_data_operation_t * op;
|
435 | |
- globus_l_gfs_data_handle_state_t last_state;
|
436 | |
void * remote_data_arg = NULL;
|
437 | |
GlobusGFSName(globus_l_gfs_data_begin_cb);
|
438 | |
GlobusGFSDebugEnter();
|
439 | |
@@ -9744,7 +9686,6 @@ globus_l_gfs_data_begin_cb(
|
440 | |
|
441 | |
globus_mutex_lock(&op->session_handle->mutex);
|
442 | |
{
|
443 | |
- last_state = op->state;
|
444 | |
switch(op->state)
|
445 | |
{
|
446 | |
case GLOBUS_L_GFS_DATA_CONNECTING:
|
447 | |
@@ -11915,7 +11856,6 @@ globus_l_gfs_finished_command_kickout(
|
448 | |
globus_bool_t destroy_op = GLOBUS_FALSE;
|
449 | |
void * remote_data_arg = NULL;
|
450 | |
globus_l_gfs_data_operation_t * op;
|
451 | |
- globus_result_t result;
|
452 | |
globus_l_gfs_data_cmd_bounce_t * bounce;
|
453 | |
|
454 | |
bounce = (globus_l_gfs_data_cmd_bounce_t *) user_arg;
|
455 | |
@@ -12304,7 +12244,6 @@ globus_gridftp_server_finished_stat(
|
456 | |
int i;
|
457 | |
char * base_path;
|
458 | |
globus_gfs_stat_info_t * stat_info;
|
459 | |
- int code;
|
460 | |
GlobusGFSName(globus_gridftp_server_finished_stat);
|
461 | |
GlobusGFSDebugEnter();
|
462 | |
|
463 | |
@@ -13465,7 +13404,6 @@ globus_gridftp_server_set_checksum_support(
|
464 | |
globus_gfs_operation_t op,
|
465 | |
const char * cksm_str)
|
466 | |
{
|
467 | |
- globus_result_t result;
|
468 | |
GlobusGFSName(globus_gridftp_server_set_checksum_support);
|
469 | |
GlobusGFSDebugEnter();
|
470 | |
|
471 | |
@@ -14764,7 +14702,7 @@ globus_i_gfs_http_data_parse_request(
|
472 | |
char * d_req = NULL;
|
473 | |
globus_size_t req_len;
|
474 | |
char * line;
|
475 | |
- char * next_line;
|
476 | |
+ char * next_line = NULL;
|
477 | |
char * ptr;
|
478 | |
char * enc_path;
|
479 | |
char * enc_url;
|
480 | |
diff --git a/globus_i_gfs_embed.c b/globus_i_gfs_embed.c
|
481 | |
index 6ead624b62..b97e89584d 100644
|
482 | |
--- a/globus_i_gfs_embed.c
|
483 | |
+++ b/globus_i_gfs_embed.c
|
484 | |
@@ -264,32 +264,26 @@ globus_l_gfs_ipc_closed(
|
485 | |
void * user_arg,
|
486 | |
globus_result_t result)
|
487 | |
{
|
488 | |
- globus_xio_handle_t xio_handle;
|
489 | |
globus_gfs_embed_handle_t handle;
|
490 | |
+ GlobusGFSName(globus_l_gfs_ipc_closed);
|
491 | |
+ GlobusGFSDebugEnter();
|
492 | |
|
493 | |
if(result != GLOBUS_SUCCESS)
|
494 | |
{
|
495 | |
/* XXX TODO log and error */
|
496 | |
}
|
497 | |
|
498 | |
- xio_handle = (globus_xio_handle_t) user_arg;
|
499 | |
- globus_mutex_unlock(&handle->mutex);
|
500 | |
+ handle = (globus_gfs_embed_handle_t) user_arg;
|
501 | |
+
|
502 | |
+ globus_mutex_lock(&handle->mutex);
|
503 | |
{
|
504 | |
- result = globus_xio_register_close(
|
505 | |
- xio_handle,
|
506 | |
- NULL,
|
507 | |
- globus_l_gfs_close_cb,
|
508 | |
- handle);
|
509 | |
+ globus_i_gfs_connection_closed(handle);
|
510 | |
}
|
511 | |
globus_mutex_unlock(&handle->mutex);
|
512 | |
|
513 | |
- if(result != GLOBUS_SUCCESS)
|
514 | |
- {
|
515 | |
- globus_l_gfs_close_cb(xio_handle, result, handle);
|
516 | |
- }
|
517 | |
+ GlobusGFSDebugExit();
|
518 | |
}
|
519 | |
|
520 | |
-
|
521 | |
static
|
522 | |
void
|
523 | |
globus_l_gfs_new_server_cb(
|
524 | |
@@ -380,7 +374,7 @@ globus_l_gfs_new_server_cb(
|
525 | |
&globus_gfs_ipc_default_iface,
|
526 | |
system_handle,
|
527 | |
globus_l_gfs_ipc_closed,
|
528 | |
- xio_handle);
|
529 | |
+ handle);
|
530 | |
}
|
531 | |
else
|
532 | |
{
|
533 | |
diff --git a/globus_i_gfs_ipc.c b/globus_i_gfs_ipc.c
|
534 | |
index c2d58fbb1b..acf9063740 100644
|
535 | |
--- a/globus_i_gfs_ipc.c
|
536 | |
+++ b/globus_i_gfs_ipc.c
|
537 | |
@@ -4137,17 +4137,17 @@ globus_l_gfs_ipc_reply_read_body_cb(
|
538 | |
globus_byte_t * new_buf;
|
539 | |
globus_gfs_ipc_request_t * request = user_arg;
|
540 | |
globus_i_gfs_ipc_handle_t * ipc;
|
541 | |
- globus_gfs_command_info_t * cmd_info;
|
542 | |
- globus_gfs_transfer_info_t * trans_info;
|
543 | |
- globus_gfs_data_info_t * data_info;
|
544 | |
- globus_gfs_stat_info_t * stat_info;
|
545 | |
+ globus_gfs_command_info_t * cmd_info = NULL;
|
546 | |
+ globus_gfs_transfer_info_t * trans_info = NULL;
|
547 | |
+ globus_gfs_data_info_t * data_info = NULL;
|
548 | |
+ globus_gfs_stat_info_t * stat_info = NULL;
|
549 | |
globus_gfs_event_info_t * event_info;
|
550 | |
globus_gfs_operation_type_t type;
|
551 | |
- globus_byte_t * user_buffer;
|
552 | |
- globus_size_t user_buffer_length;
|
553 | |
- int user_buffer_type;
|
554 | |
+ globus_byte_t * user_buffer = NULL;
|
555 | |
+ globus_size_t user_buffer_length = 0;
|
556 | |
+ int user_buffer_type = 0;
|
557 | |
int rc;
|
558 | |
- void * data_arg;
|
559 | |
+ void * data_arg = NULL;
|
560 | |
globus_bool_t process = GLOBUS_FALSE;
|
561 | |
int error_state;
|
562 | |
int no_reply_state;
|
563 | |
@@ -4918,6 +4918,7 @@ globus_l_gfs_ipc_reply_cb(
|
564 | |
goto error_already;
|
565 | |
break;
|
566 | |
case GLOBUS_GFS_IPC_STATE_REPLY_WAIT:
|
567 | |
+ error_state = GLOBUS_GFS_IPC_STATE_REPLY_WAIT;
|
568 | |
break;
|
569 | |
default:
|
570 | |
globus_assert(0 && "memory corruption?");
|
571 | |
diff --git a/globus_i_gfs_log.c b/globus_i_gfs_log.c
|
572 | |
index bd10c89d2f..837bcfc547 100644
|
573 | |
--- a/globus_i_gfs_log.c
|
574 | |
+++ b/globus_i_gfs_log.c
|
575 | |
@@ -85,7 +85,6 @@ globus_i_gfs_log_open()
|
576 | |
int len;
|
577 | |
int ctr;
|
578 | |
char * tag;
|
579 | |
- globus_result_t result;
|
580 | |
globus_reltime_t flush_interval;
|
581 | |
globus_size_t buffer;
|
582 | |
int rc;
|
583 | |
@@ -369,7 +368,6 @@ globus_i_gfs_log_open()
|
584 | |
void
|
585 | |
globus_i_gfs_log_close(void)
|
586 | |
{
|
587 | |
- globus_list_t * list;
|
588 | |
GlobusGFSName(globus_i_gfs_log_close);
|
589 | |
GlobusGFSDebugEnter();
|
590 | |
|
591 | |
diff --git a/modules/file/globus_gridftp_server_file.c b/modules/file/globus_gridftp_server_file.c
|
592 | |
index f7b7416826..2ce4c7fae5 100644
|
593 | |
--- a/modules/file/globus_gridftp_server_file.c
|
594 | |
+++ b/modules/file/globus_gridftp_server_file.c
|
595 | |
@@ -783,7 +783,6 @@ globus_l_gfs_file_stat(
|
596 | |
globus_gfs_stat_t * stat_array;
|
597 | |
int stat_count = 0;
|
598 | |
int total_stat_count = 0;
|
599 | |
- DIR * dir;
|
600 | |
char basepath[MAXPATHLEN];
|
601 | |
char filename[MAXPATHLEN];
|
602 | |
char symlink_target[MAXPATHLEN];
|
603 | |
@@ -850,6 +849,7 @@ globus_l_gfs_file_stat(
|
604 | |
{
|
605 | |
/* use larger path bufs so we have the full name for err msg */
|
606 | |
int maxpathlen = GLOBUS_MAX(4096, MAXPATHLEN);
|
607 | |
+ DIR * dir;
|
608 | |
struct dirent * dir_entry;
|
609 | |
int i;
|
610 | |
char dir_path[maxpathlen];
|
611 | |
@@ -1046,8 +1046,13 @@ globus_l_gfs_file_stat(
|
612 | |
stat_count = i;
|
613 | |
|
614 | |
closedir(dir);
|
615 | |
-
|
616 | |
+ goto done_fake;
|
617 | |
|
618 | |
+error_stat2:
|
619 | |
+ globus_l_gfs_file_destroy_stat(stat_array, stat_count);
|
620 | |
+error_alloc2:
|
621 | |
+ closedir(dir);
|
622 | |
+ goto error_open;
|
623 | |
}
|
624 | |
done_fake:
|
625 | |
|
626 | |
@@ -1090,7 +1095,7 @@ done_fake:
|
627 | |
if(!stat_array)
|
628 | |
{
|
629 | |
result = GlobusGFSErrorMemory("stat_array");
|
630 | |
- goto error_alloc2;
|
631 | |
+ goto error_open;
|
632 | |
}
|
633 | |
|
634 | |
snprintf(
|
635 | |
@@ -1122,9 +1127,6 @@ done_fake:
|
636 | |
if(slow_listings &&
|
637 | |
(dir_entry->d_type == DT_DIR || dir_entry->d_type == DT_REG))
|
638 | |
{
|
639 | |
- unsigned long h = 0;
|
640 | |
- char * key;
|
641 | |
-
|
642 | |
stat_buf = (struct stat)
|
643 | |
{
|
644 | |
.st_mode = S_IRWXU |
|
645 | |
@@ -1186,7 +1188,7 @@ done_fake:
|
646 | |
&stat_array[i], &stat_buf, dir_entry->d_name, symlink_target, link_stat_buf.st_mode, base_error);
|
647 | |
|
648 | |
/* set nlink to total files in dir for . entry */
|
649 | |
- if(check_cdir && dir_entry->d_name &&
|
650 | |
+ if(check_cdir &&
|
651 | |
dir_entry->d_name[0] == '.' && dir_entry->d_name[1] == '\0')
|
652 | |
{
|
653 | |
check_cdir = GLOBUS_FALSE;
|
654 | |
@@ -1231,7 +1233,7 @@ done_fake:
|
655 | |
if(!stat_array)
|
656 | |
{
|
657 | |
result = GlobusGFSErrorMemory("stat_array");
|
658 | |
- goto error_alloc2;
|
659 | |
+ goto error_open;
|
660 | |
}
|
661 | |
|
662 | |
stat_count = 0;
|
663 | |
@@ -1253,11 +1255,7 @@ done_fake:
|
664 | |
|
665 | |
GlobusGFSFileDebugExit();
|
666 | |
return;
|
667 | |
-error_stat2:
|
668 | |
- globus_l_gfs_file_destroy_stat(stat_array, stat_count);
|
669 | |
-error_alloc2:
|
670 | |
- closedir(dir);
|
671 | |
-
|
672 | |
+
|
673 | |
error_open:
|
674 | |
error_alloc1:
|
675 | |
error_stat1:
|
676 | |
@@ -1977,7 +1975,6 @@ globus_l_gfs_file_open_cksm_cb(
|
677 | |
void * user_arg)
|
678 | |
{
|
679 | |
globus_l_gfs_file_cksm_monitor_t * monitor;
|
680 | |
- char * freq;
|
681 | |
GlobusGFSName(globus_l_gfs_file_open_cksm_cb);
|
682 | |
GlobusGFSFileDebugEnter();
|
683 | |
|
684 | |
diff --git a/modules/remote/globus_gridftp_server_remote.c b/modules/remote/globus_gridftp_server_remote.c
|
685 | |
index b4ab1ae246..675932fde9 100644
|
686 | |
--- a/modules/remote/globus_gridftp_server_remote.c
|
687 | |
+++ b/modules/remote/globus_gridftp_server_remote.c
|
688 | |
@@ -402,7 +402,7 @@ globus_l_gfs_remote_select_nodes(
|
689 | |
repo_name = bounce->repo;
|
690 | |
callback = bounce->callback;
|
691 | |
user_arg = bounce->user_arg;
|
692 | |
- nodes_requested = bounce->num_nodes;
|
693 | |
+ nodes_requested = num_nodes;
|
694 | |
|
695 | |
/* select a new set of nodes */
|
696 | |
result = globus_gfs_brain_select_nodes(
|
697 | |
@@ -920,7 +920,6 @@ globus_l_gfs_ipc_event_cb(
|
698 | |
globus_l_gfs_remote_handle_t * my_handle;
|
699 | |
int i;
|
700 | |
globus_l_gfs_remote_ipc_bounce_t * bounce_info;
|
701 | |
- globus_list_t * list;
|
702 | |
globus_bool_t finish = GLOBUS_FALSE;
|
703 | |
globus_l_gfs_remote_node_info_t * current_node = NULL;
|
704 | |
globus_l_gfs_remote_node_info_t * master_node = NULL;
|
705 | |
@@ -981,8 +980,7 @@ globus_l_gfs_ipc_event_cb(
|
706 | |
|
707 | |
for(i = 0; i < bounce_info->node_handle->count; i++)
|
708 | |
{
|
709 | |
- node_info = (globus_l_gfs_remote_node_info_t *)
|
710 | |
- globus_list_first(list);
|
711 | |
+ node_info = bounce_info->node_handle->nodes[i];
|
712 | |
info = (globus_gfs_transfer_info_t *) node_info->info;
|
713 | |
|
714 | |
if(node_info->ipc_handle == ipc_handle)
|
715 | |
diff --git a/test/error_response_test.c b/test/error_response_test.c
|
716 | |
index a1825b62aa..4a26969cab 100644
|
717 | |
--- a/test/error_response_test.c
|
718 | |
+++ b/test/error_response_test.c
|
719 | |
@@ -219,7 +219,6 @@ static
|
720 | |
bool
|
721 | |
test_error_multiline(void)
|
722 | |
{
|
723 | |
- globus_result_t result = GLOBUS_SUCCESS;
|
724 | |
globus_object_t *err = NULL;
|
725 | |
char *msg = NULL;
|
726 | |
char *ftp_str = NULL;
|