On Monday, 2017-09-18 11:29:21 +0100, Emil Velikov wrote: > From: Bernhard Rosenkraenzer <b...@lindev.ch> > > The current convinince function GetEnv feeds the results of getenv > directly into std::string(). That is a bad idea, since the variable > may be unset, thus we feed NULL into the C++ construct. > > The latter of which is not allowed and leads to a crash. > > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=101832 > Fixes: a25093de718 ("swr/rast: Implement JIT shader caching to disk") > Cc: Tim Rowley <timothy.o.row...@intel.com> > Cc: Laurent Carlier <lordhea...@gmail.com> > Cc: Bernhard Rosenkraenzer <b...@lindev.ch> > [Emil Velikov: make an actual commit from the misc diff] > Signed-off-by: Emil Velikov <emil.veli...@collabora.com>
Laurent just sent this to the ML an hour before you, but this commit message is much better. Reviewed-by: Eric Engestrom <eric.engest...@imgtec.com> > --- > src/gallium/drivers/swr/rasterizer/core/utils.h | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/src/gallium/drivers/swr/rasterizer/core/utils.h > b/src/gallium/drivers/swr/rasterizer/core/utils.h > index b096d2120cb..3c849e82d3b 100644 > --- a/src/gallium/drivers/swr/rasterizer/core/utils.h > +++ b/src/gallium/drivers/swr/rasterizer/core/utils.h > @@ -365,7 +365,8 @@ static INLINE std::string GetEnv(const std::string& > variableName) > output.resize(valueSize - 1); // valueSize includes null, > output.resize() does not > GetEnvironmentVariableA(variableName.c_str(), &output[0], valueSize); > #else > - output = getenv(variableName.c_str()); > + char *o = getenv(variableName.c_str()); > + output = o ? std::string(o) : std::string(); Like I mentioned [2] on his patch, I think this could be written better, eg: char *env = getenv(variableName.c_str()); output = env ? env : ""; [1] https://lists.freedesktop.org/archives/mesa-dev/2017-September/169977.html [2] https://lists.freedesktop.org/archives/mesa-dev/2017-September/169996.html > #endif > > return output; > -- > 2.14.1 > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev