|
Lines 165-170
Link Here
|
| 165 |
int retval; |
165 |
int retval; |
| 166 |
char tmp[4]; |
166 |
char tmp[4]; |
| 167 |
|
167 |
|
|
|
168 |
*ret_dat = NULL; |
| 169 |
*ret_siz = 0; |
| 168 |
dlen = (u_int16_t) dat_len; |
170 |
dlen = (u_int16_t) dat_len; |
| 169 |
|
171 |
|
| 170 |
if (dat_len != (int)dlen) |
172 |
if (dat_len != (int)dlen) |
|
Lines 193-198
Link Here
|
| 193 |
|
195 |
|
| 194 |
if ((retval = krb_net_read(client_parm.admin_fd, *ret_dat, |
196 |
if ((retval = krb_net_read(client_parm.admin_fd, *ret_dat, |
| 195 |
dlen) != dlen)) { |
197 |
dlen) != dlen)) { |
|
|
198 |
free(*ret_dat); |
| 199 |
*ret_dat = NULL; |
| 196 |
if (retval < 0) |
200 |
if (retval < 0) |
| 197 |
return(errno); /* XXX */ |
201 |
return(errno); /* XXX */ |
| 198 |
else |
202 |
else |
|
Lines 238-243
Link Here
|
| 238 |
int tmp; |
242 |
int tmp; |
| 239 |
void *tmp_ptr; |
243 |
void *tmp_ptr; |
| 240 |
|
244 |
|
|
|
245 |
*ret_dat = NULL; |
| 246 |
*ret_siz = 0; |
| 247 |
|
| 241 |
act_st = malloc(KADM_VERSIZE); /* verstr stored first */ |
248 |
act_st = malloc(KADM_VERSIZE); /* verstr stored first */ |
| 242 |
if (act_st == NULL) { |
249 |
if (act_st == NULL) { |
| 243 |
clear_secrets (); |
250 |
clear_secrets (); |
|
Lines 309-315
Link Here
|
| 309 |
clear_secrets(); |
316 |
clear_secrets(); |
| 310 |
return retdat; |
317 |
return retdat; |
| 311 |
} |
318 |
} |
| 312 |
#define RET_N_FREE2(r) {free(*ret_dat); clear_secrets(); return(r);} |
319 |
#define RET_N_FREE2(r) {free(*ret_dat); *ret_dat = NULL; clear_secrets(); return(r);} |
| 313 |
|
320 |
|
| 314 |
/* first see if it's a YOULOUSE */ |
321 |
/* first see if it's a YOULOUSE */ |
| 315 |
if ((*ret_siz >= KADM_VERSIZE) && |
322 |
if ((*ret_siz >= KADM_VERSIZE) && |
|
Lines 410-417
Link Here
|
| 410 |
msg[0]=0; |
417 |
msg[0]=0; |
| 411 |
*pw_msg=msg; |
418 |
*pw_msg=msg; |
| 412 |
} |
419 |
} |
| 413 |
|
|
|
| 414 |
if (ret_st) |
| 415 |
free(ret_st); |
420 |
free(ret_st); |
| 416 |
|
421 |
|
| 417 |
kadm_cli_disconn(); |
422 |
kadm_cli_disconn(); |
|
Lines 481-488
Link Here
|
| 481 |
/* ret_st has vals */ |
486 |
/* ret_st has vals */ |
| 482 |
if (stream_to_vals(ret_st, vals, ret_sz) < 0) |
487 |
if (stream_to_vals(ret_st, vals, ret_sz) < 0) |
| 483 |
retc = KADM_LENGTH_ERROR; |
488 |
retc = KADM_LENGTH_ERROR; |
| 484 |
free(ret_st); |
|
|
| 485 |
} |
489 |
} |
|
|
490 |
free(ret_st); |
| 486 |
kadm_cli_disconn(); |
491 |
kadm_cli_disconn(); |
| 487 |
return(retc); |
492 |
return(retc); |
| 488 |
} |
493 |
} |
|
Lines 539-546
Link Here
|
| 539 |
/* ret_st has vals */ |
544 |
/* ret_st has vals */ |
| 540 |
if (stream_to_vals(ret_st, vals2, ret_sz) < 0) |
545 |
if (stream_to_vals(ret_st, vals2, ret_sz) < 0) |
| 541 |
retc = KADM_LENGTH_ERROR; |
546 |
retc = KADM_LENGTH_ERROR; |
| 542 |
free(ret_st); |
|
|
| 543 |
} |
547 |
} |
|
|
548 |
free(ret_st); |
| 544 |
kadm_cli_disconn(); |
549 |
kadm_cli_disconn(); |
| 545 |
return(retc); |
550 |
return(retc); |
| 546 |
} |
551 |
} |
|
Lines 571-576
Link Here
|
| 571 |
} |
576 |
} |
| 572 |
retc = kadm_cli_send(st2, st_len + 1, &ret_st, &ret_sz); |
577 |
retc = kadm_cli_send(st2, st_len + 1, &ret_st, &ret_sz); |
| 573 |
free(st2); |
578 |
free(st2); |
|
|
579 |
free(ret_st); |
| 574 |
kadm_cli_disconn(); |
580 |
kadm_cli_disconn(); |
| 575 |
return(retc); |
581 |
return(retc); |
| 576 |
} |
582 |
} |
|
Lines 618-625
Link Here
|
| 618 |
/* ret_st has vals */ |
624 |
/* ret_st has vals */ |
| 619 |
if (stream_to_vals(ret_st, vals, ret_sz) < 0) |
625 |
if (stream_to_vals(ret_st, vals, ret_sz) < 0) |
| 620 |
retc = KADM_LENGTH_ERROR; |
626 |
retc = KADM_LENGTH_ERROR; |
| 621 |
free(ret_st); |
|
|
| 622 |
} |
627 |
} |
|
|
628 |
free(ret_st); |
| 623 |
kadm_cli_disconn(); |
629 |
kadm_cli_disconn(); |
| 624 |
return(retc); |
630 |
return(retc); |
| 625 |
} |
631 |
} |