    function copyAndExtractDriver(buf)
    {
        var file = fs.openSync( INSTALLER_FILE, 'w');
        var len = fs.writeSync( file, buf, 0, buf.length, 0 );
        if( len != buf.length ) 
        {
            console.log( "Error writing IBM ODBC and CLI Driver to a file" );
            process.exit(1);
        }
        fs.closeSync( file );
        if(platform == 'win32') 
        {
            readStream = fs.createReadStream(INSTALLER_FILE);
            writeStream = fstream.Writer(DOWNLOAD_DIR);

            readStream.pipe(unzip.Parse()).pipe(writeStream);
            console.log('Download and extraction of DB2 ODBC ' +
                        'CLI Driver completed successfully ...');
            console.log(license_agreement);
        } 
        else 
        {
            var targz = require('targz');
            var compress = targz.decompress({src: INSTALLER_FILE, dest: "DOWNLOAD_DIR"}, function(err){
              if(err) {
                console.log(err);
                process.exit(1);
              }
              else {
                console.log('Download and extraction of DB2 ODBC ' +
                            'CLI Driver completed successfully ...');
                console.log(license_agreement);
                IBM_DB_HOME = path.resolve(DOWNLOAD_DIR, 'clidriver');
                process.env.IBM_DB_HOME = IBM_DB_HOME.replace(/\s/g,'\\ ');
                buildBinary(true);
                removeWinBuildArchive();
              }
	        });
        }
    }
Weaknesses in this category are related to the design and implementation of data confidentiality and integrity. Frequently these deal with the use of encoding techniques, encryption libraries, and hashing algorithms. The weaknesses in this category could lead to a degradation of the quality data if they are not addressed.