diff --git a/alib2measurepp/src/provisioner/MeasurementProvisioner.cpp b/alib2measurepp/src/provisioner/MeasurementProvisioner.cpp index b81b0060ed6489ce7effd144dcf90341589d0408..d36df4424aeccd0e217aa07da0196b08335b0b90 100644 --- a/alib2measurepp/src/provisioner/MeasurementProvisioner.cpp +++ b/alib2measurepp/src/provisioner/MeasurementProvisioner.cpp @@ -233,15 +233,18 @@ void MeasurementProvisioner::PipelineRunnerEnvironment::commandFdSwap ( ) { // swap stdin and stdout for next command close ( 0 ); close ( 1 ); - dup ( outputTmpfile.fd ); - dup ( inputTmpfile.fd ); + if ( dup ( outputTmpfile.fd ) == -1 || dup ( inputTmpfile.fd ) == -1) { + throw::exception::CommonException ( "MeasurementProvisioner: dup failed" ); + } // rewind previous stdout to the beginning, so the next command can read the whole file as input lseek ( 0, 0, SEEK_SET ); // destroy the contents of previous stdin and rewind to the beginning lseek ( 1, 0, SEEK_SET ); - ftruncate ( 1, 0 ); + if(ftruncate ( 1, 0 ) == -1) { + throw::exception::CommonException ( "MeasurementProvisioner: ftruncate failed" ); + } } void MeasurementProvisioner::PipelineRunnerEnvironment::commandFdEnd ( ) {