diff --git a/reactos/base/system/services/rpcserver.c b/reactos/base/system/services/rpcserver.c index a245365201d..cdde7ba49ee 100644 --- a/reactos/base/system/services/rpcserver.c +++ b/reactos/base/system/services/rpcserver.c @@ -4251,7 +4251,14 @@ DWORD RQueryServiceConfig2A( L"Description", &lpDescriptionW); if (dwError != ERROR_SUCCESS) + { + if (cbBufSize < sizeof(SERVICE_DESCRIPTIONA)) + { + *pcbBytesNeeded = sizeof(SERVICE_DESCRIPTIONA); + dwError = ERROR_INSUFFICIENT_BUFFER; + } goto done; + } dwRequiredSize = sizeof(SERVICE_DESCRIPTIONA) + ((wcslen(lpDescriptionW) + 1));