From 6ef1edbe8aea95ed89a02964ca71a39ef3a2307f Mon Sep 17 00:00:00 2001 From: Ingo Date: Wed, 10 Jun 2015 22:26:20 +0200 Subject: [PATCH] Avoid division by zero crash when options file contains 0 for 'Performance/nrhigh', no Issue --- rtgui/options.cc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/rtgui/options.cc b/rtgui/options.cc index 218dba886..4dcbfcd0b 100644 --- a/rtgui/options.cc +++ b/rtgui/options.cc @@ -797,7 +797,10 @@ if (keyFile.has_group ("Performance")) { if (keyFile.has_key ("Performance", "RgbDenoiseThreadLimit")) rgbDenoiseThreadLimit = keyFile.get_integer ("Performance", "RgbDenoiseThreadLimit"); if( keyFile.has_key ("Performance", "NRauto")) rtSettings.nrauto = keyFile.get_double ("Performance", "NRauto"); if( keyFile.has_key ("Performance", "NRautomax")) rtSettings.nrautomax = keyFile.get_double ("Performance", "NRautomax"); - if( keyFile.has_key ("Performance", "NRhigh")) rtSettings.nrhigh = keyFile.get_double ("Performance", "NRhigh"); + if( keyFile.has_key ("Performance", "NRhigh")) rtSettings.nrhigh = keyFile.get_double ("Performance", "NRhigh"); + if(rtSettings.nrhigh == 0.0) { //avoid crash by division by zero in noise reduction + rtSettings.nrhigh = 0.45; + } if( keyFile.has_key ("Performance", "NRWavlevel")) rtSettings.nrwavlevel = keyFile.get_integer ("Performance", "NRWavlevel"); if (keyFile.has_key ("Performance", "LevNR")) rtSettings.leveldnv = keyFile.get_integer ("Performance", "LevNR"); if (keyFile.has_key ("Performance", "LevNRTI")) rtSettings.leveldnti = keyFile.get_integer ("Performance", "LevNRTI");