Ticket #89: zzuf_fileext.patch

File zzuf_fileext.patch, 1.2 KB (added by WD, 8 years ago)

Patch

  • C:/fuzz-svn/zzuf/src/zzuf.c

     
    687687    {
    688688        char tmpname[4096];
    689689        char *tmpdir;
     690        char *extension;
    690691        FILE *fpin;
    691         int j, k = 0, fdout;
     692        int j, k = 0, fdout, extlen;
    692693
    693694        tmpdir = getenv("TEMP");
    694695        if (!tmpdir || !*tmpdir)
     
    696697
    697698        for (j = caca_optind + 1; j < opts->oldargc; j++)
    698699        {
     700                extension = strrchr(opts->oldargv[j],'.');
     701                if (!extension)
     702                        extlen=0;
     703                else
     704                        extlen=strlen(extension);
    699705            fpin = fopen(opts->oldargv[j], "r");
    700706            if (!fpin)
    701707                continue;
    702708
    703             sprintf(tmpname, "%s/zzuf.%i.XXXXXX", tmpdir, (int)getpid());
     709            sprintf(tmpname, "%s/zzuf.%i.XXXXXX%s", tmpdir, (int)getpid(), extension);
    704710#ifdef _WIN32
    705711            fdout = mktemp(tmpname);
    706712#else
    707             fdout = mkstemp(tmpname);
     713            fdout = mkstemps(tmpname, extlen);
    708714#endif
    709715            if (fdout < 0)
    710716            {