diff --git a/alib2measurepp/src/provisioner/MeasurementProvisioner.cpp b/alib2measurepp/src/provisioner/MeasurementProvisioner.cpp index 3c69b543b06bcff5c42f448b93b7864b5f2454bd..bba4b2b98f709b7ea23524a1c567c5c5f1dbc4a0 100644 --- a/alib2measurepp/src/provisioner/MeasurementProvisioner.cpp +++ b/alib2measurepp/src/provisioner/MeasurementProvisioner.cpp @@ -235,7 +235,6 @@ void MeasurementProvisioner::PipelineRunnerEnvironment::commandFdSwap ( ) { 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 ); @@ -264,7 +263,10 @@ string MeasurementProvisioner::PipelineRunnerEnvironment::retrievePipelineError // destroy stderr contents lseek ( 2, 0, SEEK_SET ); - ftruncate ( 2, 0 ); + + if ( ftruncate ( 2, 0 ) == -1 ) + throw::exception::CommonException ( "MeasurementProvisioner: ftruncate failed" ); + return buffer.str ( ); }