From 3a9c71ad8f96d18a755f2709cb33076ae41a157f Mon Sep 17 00:00:00 2001 From: Bart van Strien Date: Sat, 31 Dec 2011 15:54:11 +0100 Subject: [PATCH] Check if enum-string conversions succeed in love.audio.get/setDistanceModel (bug #347) --- src/modules/audio/wrap_Audio.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/modules/audio/wrap_Audio.cpp b/src/modules/audio/wrap_Audio.cpp index f2752b924..d0effc94c 100644 --- a/src/modules/audio/wrap_Audio.cpp +++ b/src/modules/audio/wrap_Audio.cpp @@ -241,7 +241,8 @@ namespace audio { const char *modelStr = luaL_checkstring(L, 1); Audio::DistanceModel distanceModel; - Audio::getConstant(modelStr, distanceModel); + if (!Audio::getConstant(modelStr, distanceModel)) + return luaL_error(L, "Invalid distance model: %s", modelStr); instance->setDistanceModel(distanceModel); return 0; } @@ -250,7 +251,8 @@ namespace audio { Audio::DistanceModel distanceModel = instance->getDistanceModel(); const char *modelStr; - Audio::getConstant(distanceModel, modelStr); + if (!Audio::getConstant(distanceModel, modelStr)) + return 0; lua_pushstring(L, modelStr); return 1; }