[PATCH 3/4] s3fs-popt: Add function to burn the commandline password.

Jeremy Allison jra at samba.org
Tue Oct 30 11:25:44 MDT 2012


On Mon, Oct 29, 2012 at 09:12:15PM +0100, Andreas Schneider wrote:
> 
> Signed-off-by: Andreas Schneider <asn at samba.org>
> + * @brief Burn the commandline password.
> + *
> + * This function removes the password from the command line so we
> + * don't leak the password e.g. in 'ps aux'.
> + *
> + * It should be called after processing the options and you should pass down
> + * argv from main().
> + *
> + * @param[in]  argc     The number of arguments.
> + *
> + * @param[in]  argv[]   The argument array we will find the array.
> + */
> +void popt_burn_cmdline_password(int argc, char *argv[])
> +{
> +	bool found = false;
> +	char *p = NULL;
> +	int i;
> +
> +	for (i = 0; i < argc; i++) {
> +		p = argv[i];
> +		if (strncmp(p, "-U", 2) == 0) {
> +			found = true;
> +		}
> +
> +		if (found && strlen(p) > 2) {
> +			break;
> +		}
> +	}
> +
> +	if (p == NULL) {
> +		return;
> +	}
> +
> +	p = strchr(p, '%');

Sorry - have to NAK on this.

strchr must be strchr_m to deal with MB character sets
on the command line. Check out the other usages of
strchr_m in source3/lib/popt_common.c.

Fix that and I'll re-review.

Cheers,

	Jeremy.


More information about the samba-technical mailing list