diff options
| -rw-r--r-- | source3/client/client.c | 8 | ||||
| -rw-r--r-- | source3/libsmb/clidfs.c | 3 | 
2 files changed, 6 insertions, 5 deletions
diff --git a/source3/client/client.c b/source3/client/client.c index c40c04e9c6..adcbffe6fa 100644 --- a/source3/client/client.c +++ b/source3/client/client.c @@ -747,11 +747,11 @@ static void do_list_helper(const char *mntpoint, file_info *f, const char *mask,  				return;  			}  			p = strrchr_m(mask2,CLI_DIRSEP_CHAR); -			if (!p) { -				TALLOC_FREE(dir); -				return; +			if (p) { +				p[1] = 0; +			} else { +				mask2[0] = '\0';  			} -			p[1] = 0;  			mask2 = talloc_asprintf_append(mask2,  					"%s%s*",  					f->name, diff --git a/source3/libsmb/clidfs.c b/source3/libsmb/clidfs.c index ac68700fd0..211aca2bd8 100644 --- a/source3/libsmb/clidfs.c +++ b/source3/libsmb/clidfs.c @@ -308,10 +308,11 @@ static void cli_cm_set_mntpoint(struct cli_state *c, const char *mnt)  	}  	if (p) { -		char *name = clean_name(NULL, p->mount); +		char *name = clean_name(NULL, mnt);  		if (!name) {  			return;  		} +		TALLOC_FREE(p->mount);  		p->mount = talloc_strdup(p, name);  		TALLOC_FREE(name);  	}  | 
