diff --git a/src/modules/audio/wrap_Source.cpp b/src/modules/audio/wrap_Source.cpp index bda70a1d2..3a96f41fc 100644 --- a/src/modules/audio/wrap_Source.cpp +++ b/src/modules/audio/wrap_Source.cpp @@ -71,10 +71,11 @@ int w_Source_setPitch(lua_State *L) { Source *t = luax_checksource(L, 1); float p = (float)luaL_checknumber(L, 2); + if (p != p) + return luaL_error(L, "Pitch cannot be NaN."); if (p > std::numeric_limits::max() || - p < std::numeric_limits::min() || - p != p) - return luaL_error(L, "Pitch has to be finite and not NaN."); + p <= 0.0f) + return luaL_error(L, "Pitch has to be non-zero, positive, finite number."); t->setPitch(p); return 0; }