diff --git a/extensions/sdktools/vdecoder.cpp b/extensions/sdktools/vdecoder.cpp index 881fa667a..3fb2618d5 100644 --- a/extensions/sdktools/vdecoder.cpp +++ b/extensions/sdktools/vdecoder.cpp @@ -575,7 +575,13 @@ DataStatus DecodeValveParam(IPluginContext *pContext, case Valve_String: { char *addr; - pContext->LocalToString(param, &addr); + pContext->LocalToStringNULL(param, &addr); + if (addr == NULL && (data->decflags & VDECODE_FLAG_ALLOWNULL) == 0) + { + pContext->ThrowNativeError("NULL not allowed"); + return Data_Fail; + } + *(char **)buffer = addr; return Data_Okay; }