1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-12 09:18:10 +03:00

Fix a number of client-side fstring/pstring mixups.

Andrew Bartlett
(This used to be commit fe1cc779d5)
This commit is contained in:
Andrew Bartlett 2003-01-11 12:04:14 +00:00
parent 22d6569ed5
commit 73b0a2bdf8
9 changed files with 39 additions and 37 deletions

View File

@ -2978,7 +2978,7 @@ static void remember_query_host(const char *arg,
}
break;
case 'D':
pstrcpy(base_directory,optarg);
fstrcpy(base_directory,optarg);
break;
case 'c':
cmdstr = optarg;

View File

@ -324,9 +324,11 @@ static int interpret_short_filename(struct cli_state *cli, char *p,file_info *fi
finfo->mtime = finfo->atime = finfo->ctime;
finfo->size = IVAL(p,26);
clistr_pull(cli, finfo->name, p+30, sizeof(finfo->name), 12, STR_ASCII);
if (strcmp(finfo->name, "..") && strcmp(finfo->name, "."))
fstrcpy(finfo->short_name,finfo->name);
if (strcmp(finfo->name, "..") && strcmp(finfo->name, ".")) {
strncpy(finfo->short_name,finfo->name, sizeof(finfo->short_name)-1);
finfo->short_name[sizeof(finfo->short_name)-1] = '\0';
}
return(DIR_STRUCT_SIZE);
}

View File

@ -122,33 +122,33 @@ BOOL ntv2_owf_gen(const uchar owf[16],
smb_ucs2_t *user;
smb_ucs2_t *domain;
int user_byte_len;
int domain_byte_len;
size_t user_byte_len;
size_t domain_byte_len;
HMACMD5Context ctx;
user_byte_len = push_ucs2_allocate(&user, user_in);
if (user_byte_len < 0) {
DEBUG(0, ("push_ucs2_allocate() for user returned %d (probably malloc() failure)\n", user_byte_len));
if (user_byte_len == (size_t)-1) {
DEBUG(0, ("push_uss2_allocate() for user returned -1 (probably malloc() failure)\n"));
return False;
}
domain_byte_len = push_ucs2_allocate(&domain, domain_in);
if (domain_byte_len < 0) {
DEBUG(0, ("push_ucs2_allocate() for domain returned %d (probably malloc() failure)\n", domain_byte_len));
if (domain_byte_len == (size_t)-1) {
DEBUG(0, ("push_uss2_allocate() for domain returned -1 (probably malloc() failure)\n"));
return False;
}
strupper_w(user);
strupper_w(domain);
SMB_ASSERT(user_byte_len >= 2);
SMB_ASSERT(domain_byte_len >= 2);
/* We don't want null termination */
user_byte_len = user_byte_len - 2;
domain_byte_len = domain_byte_len - 2;
SMB_ASSERT(user_byte_len >= 0);
SMB_ASSERT(domain_byte_len >= 0);
hmac_md5_init_limK_to_64(owf, 16, &ctx);
hmac_md5_update((const unsigned char *)user, user_byte_len, &ctx);
hmac_md5_update((const unsigned char *)domain, domain_byte_len, &ctx);

View File

@ -193,14 +193,14 @@ static struct cli_state *connect_one(char *share, int snum)
if (!got_pass) {
char *pass = getpass("Password: ");
if (pass) {
pstrcpy(password[0], pass);
pstrcpy(password[1], pass);
fstrcpy(password[0], pass);
fstrcpy(password[1], pass);
}
}
if (got_pass == 1) {
pstrcpy(password[1], password[0]);
pstrcpy(username[1], username[0]);
fstrcpy(password[1], password[0]);
fstrcpy(username[1], username[0]);
}
if (!cli_session_setup(c, username[snum],
@ -591,8 +591,8 @@ static void usage(void)
load_interfaces();
if (getenv("USER")) {
pstrcpy(username[0],getenv("USER"));
pstrcpy(username[1],getenv("USER"));
fstrcpy(username[0],getenv("USER"));
fstrcpy(username[1],getenv("USER"));
}
seed = time(NULL);
@ -613,11 +613,11 @@ static void usage(void)
d_printf("Max of 2 usernames\n");
exit(1);
}
pstrcpy(username[got_pass],optarg);
fstrcpy(username[got_pass],optarg);
p = strchr_m(username[got_pass],'%');
if (p) {
*p = 0;
pstrcpy(password[got_pass], p+1);
fstrcpy(password[got_pass], p+1);
got_pass++;
}
break;

View File

@ -169,7 +169,7 @@ static struct cli_state *connect_one(char *share)
if (!got_pass) {
char *pass = getpass("Password: ");
if (pass) {
pstrcpy(password, pass);
fstrcpy(password, pass);
}
}
@ -504,7 +504,7 @@ static void usage(void)
load_interfaces();
if (getenv("USER")) {
pstrcpy(username,getenv("USER"));
fstrcpy(username,getenv("USER"));
}
seed = time(NULL);
@ -512,11 +512,11 @@ static void usage(void)
while ((opt = getopt(argc, argv, "U:s:ho:aAW:O")) != EOF) {
switch (opt) {
case 'U':
pstrcpy(username,optarg);
fstrcpy(username,optarg);
p = strchr_m(username,'%');
if (p) {
*p = 0;
pstrcpy(password, p+1);
fstrcpy(password, p+1);
got_pass = 1;
}
break;

View File

@ -213,7 +213,7 @@ struct cli_state *connect_one(char *share)
if (!got_pass) {
char *pass = getpass("Password: ");
if (pass) {
pstrcpy(password, pass);
fstrcpy(password, pass);
}
}
@ -456,7 +456,7 @@ static void usage(void)
load_interfaces();
if (getenv("USER")) {
pstrcpy(username,getenv("USER"));
fstrcpy(username,getenv("USER"));
}
seed = time(NULL);
@ -479,11 +479,11 @@ static void usage(void)
max_protocol = interpret_protocol(optarg, max_protocol);
break;
case 'U':
pstrcpy(username,optarg);
fstrcpy(username,optarg);
p = strchr_m(username,'%');
if (p) {
*p = 0;
pstrcpy(password, p+1);
fstrcpy(password, p+1);
got_pass = 1;
}
break;

View File

@ -4055,7 +4055,7 @@ static void usage(void)
get_myname(myname);
if (*username == 0 && getenv("LOGNAME")) {
pstrcpy(username,getenv("LOGNAME"));
fstrcpy(username,getenv("LOGNAME"));
}
argc--;
@ -4110,11 +4110,11 @@ static void usage(void)
#endif
break;
case 'U':
pstrcpy(username,optarg);
fstrcpy(username,optarg);
p = strchr_m(username,'%');
if (p) {
*p = 0;
pstrcpy(password, p+1);
fstrcpy(password, p+1);
gotpass = 1;
}
break;
@ -4128,7 +4128,7 @@ static void usage(void)
while (!gotpass) {
p = getpass("Password:");
if (p) {
pstrcpy(password, p);
fstrcpy(password, p);
gotpass = 1;
}
}

View File

@ -210,7 +210,7 @@ int main(int argc,char *argv[])
{
int opt;
unsigned int lookup_type = 0x0;
pstring lookup;
fstring lookup;
extern int optind;
extern char *optarg;
BOOL find_master=False;

View File

@ -718,7 +718,7 @@ static struct cli_state *connect_one(const char *share)
if (!got_pass) {
char *pass = getpass("Password: ");
if (pass) {
pstrcpy(password, pass);
fstrcpy(password, pass);
got_pass = True;
}
}
@ -806,7 +806,7 @@ You can string acls together with spaces, commas or newlines\n\
if ((p=strchr_m(username,'%'))) {
*p = 0;
pstrcpy(password,p+1);
fstrcpy(password,p+1);
got_pass = True;
memset(strchr_m(getenv("USER"), '%') + 1, 'X',
strlen(password));
@ -820,7 +820,7 @@ You can string acls together with spaces, commas or newlines\n\
p = strchr_m(username,'%');
if (p) {
*p = 0;
pstrcpy(password, p+1);
fstrcpy(password, p+1);
got_pass = 1;
}
break;