Author: jelmer Date: 2007-09-02 16:12:49 +0000 (Sun, 02 Sep 2007) New Revision: 24897
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=24897 Log: Do some sanity checking on --basedir. Modified: branches/SAMBA_4_0/ branches/SAMBA_4_0/source/torture/smbtorture.c branches/SAMBA_4_0/source/torture/util.c Changeset: Property changes on: branches/SAMBA_4_0 ___________________________________________________________________ Name: bzr:revision-info ...skipped... Name: bzr:revision-id:v3-trunk0 ...skipped... Modified: branches/SAMBA_4_0/source/torture/smbtorture.c =================================================================== --- branches/SAMBA_4_0/source/torture/smbtorture.c 2007-09-02 15:05:58 UTC (rev 24896) +++ branches/SAMBA_4_0/source/torture/smbtorture.c 2007-09-02 16:12:49 UTC (rev 24897) @@ -651,7 +651,20 @@ } torture = torture_context_init(talloc_autofree_context(), ui_ops); - torture->outputdir = basedir; + if (basedir != NULL) { + if (basedir[0] != '/') { + fprintf(stderr, "Please specify an absolute path to --basedir\n"); + return 1; + } + torture->outputdir = basedir; + } else { + char *pwd = talloc_size(torture, PATH_MAX); + if (!getcwd(pwd, PATH_MAX)) { + fprintf(stderr, "Unable to determine current working directory\n"); + return 1; + } + torture->outputdir = pwd; + } if (argc_new == 0) { printf("You must specify a test to run, or 'ALL'\n"); Modified: branches/SAMBA_4_0/source/torture/util.c =================================================================== --- branches/SAMBA_4_0/source/torture/util.c 2007-09-02 15:05:58 UTC (rev 24896) +++ branches/SAMBA_4_0/source/torture/util.c 2007-09-02 16:12:49 UTC (rev 24897) @@ -28,9 +28,10 @@ create a temporary directory. */ _PUBLIC_ NTSTATUS torture_temp_dir(struct torture_context *tctx, - const char *prefix, - char **tempdir) + const char *prefix, + char **tempdir) { + SMB_ASSERT(tctx->outputdir != NULL); *tempdir = talloc_asprintf(tctx, "%s/%s.XXXXXX", tctx->outputdir, prefix); if (mkdtemp(*tempdir) == NULL)