diff --git a/libinterp/dldfcn/fftw.cc b/libinterp/dldfcn/fftw.cc --- a/libinterp/dldfcn/fftw.cc +++ b/libinterp/dldfcn/fftw.cc @@ -232,7 +232,7 @@ used per default. std::string arg1 = args(1).xstring_value ("fftw: WISDOM must be a string"); char *str = fftw_export_wisdom_to_string (); - std::string wisdom_str (str); + std::string wisdom_str (str ? str : ""); free (str); if (arg1.length () < 1) @@ -245,7 +245,7 @@ used per default. else //dwisdom getter { char *str = fftw_export_wisdom_to_string (); - std::string wisdom_str (str); + std::string wisdom_str (str ? str : ""); free (str); retval = octave_value (wisdom_str); } @@ -262,7 +262,7 @@ used per default. std::string arg1 = args(1).xstring_value ("fftw: WISDOM must be a string"); char *str = fftwf_export_wisdom_to_string (); - std::string wisdom_str (str); + std::string wisdom_str (str ? str : ""); free (str); if (arg1.length () < 1) @@ -275,7 +275,7 @@ used per default. else //swisdom getter { char *str = fftwf_export_wisdom_to_string (); - std::string wisdom_str (str); + std::string wisdom_str (str ? str : ""); free (str); retval = octave_value (wisdom_str); }