The following issues were found
plugins/obs-qsv11/common_directx9.cpp
2 issues
Line: 405
CWE codes:
401
new IDirect3DSurface9 *[request->NumFrameSuggested]);
if (!dxSrf.get()) {
MSDK_SAFE_FREE(dxMids);
return MFX_ERR_MEMORY_ALLOC;
}
hr = videoService->CreateSurface(
request->Info.Width, request->Info.Height,
request->NumFrameSuggested - 1, format, D3DPOOL_DEFAULT,
m_surfaceUsage, target, dxSrf.get(), NULL);
Reported by Cppcheck.
Line: 413
CWE codes:
401
m_surfaceUsage, target, dxSrf.get(), NULL);
if (FAILED(hr)) {
MSDK_SAFE_FREE(dxMids);
return MFX_ERR_MEMORY_ALLOC;
}
for (int i = 0; i < request->NumFrameSuggested; i++) {
dxMids[i].first = dxSrf.get()[i];
dxMidPtrs[i] = &dxMids[i];
Reported by Cppcheck.
plugins/win-dshow/virtualcam.c
2 issues
Line: 44
Column: 2
CWE codes:
119
120
Suggestion:
Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length
uint64_t interval = ovi.fps_den * 10000000ULL / ovi.fps_num;
char res[64];
snprintf(res, sizeof(res), "%dx%dx%lld", (int)width, (int)height,
(long long)interval);
char *res_file = os_get_config_path_ptr("obs-virtualcam.txt");
os_quick_write_utf8_file_safe(res_file, res, strlen(res), false, "tmp",
Reported by FlawFinder.
Line: 49
Column: 47
CWE codes:
126
(long long)interval);
char *res_file = os_get_config_path_ptr("obs-virtualcam.txt");
os_quick_write_utf8_file_safe(res_file, res, strlen(res), false, "tmp",
NULL);
bfree(res_file);
vcam->vq = video_queue_create(width, height, interval);
if (!vcam->vq) {
Reported by FlawFinder.
plugins/obs-qsv11/bits/linux_defs.h
2 issues
Line: 16
Column: 46
CWE codes:
362
#include <time.h>
#include <unistd.h>
#define MSDK_FOPEN(FH, FN, M) { FH=fopen(FN,M); }
#define MSDK_SLEEP(X) { usleep(1000*(X)); }
typedef timespec mfxTime;
Reported by FlawFinder.
Line: 17
Column: 43
CWE codes:
676
Suggestion:
Use nanosleep(2) or setitimer(2) instead
#include <unistd.h>
#define MSDK_FOPEN(FH, FN, M) { FH=fopen(FN,M); }
#define MSDK_SLEEP(X) { usleep(1000*(X)); }
typedef timespec mfxTime;
Reported by FlawFinder.
plugins/image-source/obs-slideshow.c
2 issues
Line: 784
Column: 4
CWE codes:
120
Suggestion:
Make sure destination can always hold the source data
float *out = audio_output->output[mix].data[ch];
float *in = child_audio.output[mix].data[ch];
memcpy(out, in,
AUDIO_OUTPUT_FRAMES * MAX_AUDIO_CHANNELS *
sizeof(float));
}
}
Reported by FlawFinder.
Line: 914
Column: 2
CWE codes:
119
120
Suggestion:
Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length
for (size_t i = 0; i < NUM_ASPECTS; i++)
obs_property_list_add_string(p, aspects[i], aspects[i]);
char str[32];
snprintf(str, 32, "%dx%d", cx, cy);
obs_property_list_add_string(p, str, str);
if (ss) {
pthread_mutex_lock(&ss->mutex);
Reported by FlawFinder.
plugins/win-wasapi/enum-wasapi.cpp
2 issues
Line: 24
Column: 17
CWE codes:
126
res = store->GetValue(PKEY_Device_FriendlyName, &nameVar);
if (SUCCEEDED(res) && nameVar.pwszVal && *nameVar.pwszVal) {
size_t len = wcslen(nameVar.pwszVal);
size_t size;
size = os_wcs_to_utf8(nameVar.pwszVal, len, nullptr,
0) +
1;
Reported by FlawFinder.
Line: 78
Column: 9
CWE codes:
126
info.name = GetDeviceName(device);
len = wcslen(w_id);
size = os_wcs_to_utf8(w_id, len, nullptr, 0) + 1;
info.id.resize(size);
os_wcs_to_utf8(w_id, len, &info.id[0], size);
devices.push_back(info);
Reported by FlawFinder.
plugins/obs-outputs/obs-outputs.c
2 issues
Line: 11
#include <mbedtls/threading.h>
#endif
OBS_DECLARE_MODULE()
OBS_MODULE_USE_DEFAULT_LOCALE("obs-outputs", "en-US")
MODULE_EXPORT const char *obs_module_description(void)
{
return "OBS core RTMP/FLV/null/FTL outputs";
}
Reported by Cppcheck.
Line: 30
Column: 2
CWE codes:
Suggestion:
Use InitializeCriticalSectionAndSpinCount instead
{
CRITICAL_SECTION *c = bzalloc(sizeof(CRITICAL_SECTION));
*m = c;
InitializeCriticalSection(c);
}
void mbed_mutex_free(mbedtls_threading_mutex_t *m)
{
CRITICAL_SECTION *c = *m;
Reported by FlawFinder.
test/win/test.cpp
2 issues
Line: 69
Column: 2
CWE codes:
134
Suggestion:
Use a constant for the format specification
static void do_log(int log_level, const char *msg, va_list args, void *param)
{
char bla[4096];
vsnprintf(bla, 4095, msg, args);
OutputDebugStringA(bla);
OutputDebugStringA("\n");
if (log_level < LOG_WARNING)
Reported by FlawFinder.
Line: 68
Column: 2
CWE codes:
119
120
Suggestion:
Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length
static void do_log(int log_level, const char *msg, va_list args, void *param)
{
char bla[4096];
vsnprintf(bla, 4095, msg, args);
OutputDebugStringA(bla);
OutputDebugStringA("\n");
Reported by FlawFinder.
UI/frontend-plugins/frontend-tools/captions-mssapi.cpp
2 issues
Line: 21
Column: 2
CWE codes:
119
120
Suggestion:
Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length
LCID lang_id = LocaleNameToLCID(wlang.c_str(), 0);
wchar_t lang_str[32];
_snwprintf(lang_str, 31, L"language=%x", (int)lang_id);
stop = CreateEvent(nullptr, false, false, nullptr);
if (!stop.Valid())
throw "Failed to create event";
Reported by FlawFinder.
Line: 138
Column: 5
CWE codes:
119
120
Suggestion:
Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length
if (FAILED(hr))
continue;
char text_utf8[512];
os_wcs_to_utf8(text, 0, text_utf8, 512);
callback(text_utf8);
blog(LOG_DEBUG, "\"%s\"", text_utf8);
Reported by FlawFinder.
deps/json11/json11.hpp
2 issues
Line: 65
Column: 17
CWE codes:
134
Suggestion:
Use a constant for the format specification
#define noexcept throw()
#endif
#ifndef snprintf
#define snprintf _snprintf_s
#endif
#endif
#endif
Reported by FlawFinder.
Line: 66
Column: 21
CWE codes:
134
Suggestion:
Use a constant for the format specification
#endif
#ifndef snprintf
#define snprintf _snprintf_s
#endif
#endif
#endif
namespace json11 {
Reported by FlawFinder.
libobs/audio-monitoring/win32/wasapi-enum-devices.c
2 issues
Line: 42
Column: 2
CWE codes:
119
120
Suggestion:
Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length
IPropertyStore *store = NULL;
IMMDevice *device = NULL;
PROPVARIANT name_var;
char utf8_name[512];
WCHAR *w_id = NULL;
char utf8_id[512];
bool cont = true;
HRESULT hr;
Reported by FlawFinder.
Line: 44
Column: 2
CWE codes:
119
120
Suggestion:
Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length
PROPVARIANT name_var;
char utf8_name[512];
WCHAR *w_id = NULL;
char utf8_id[512];
bool cont = true;
HRESULT hr;
hr = collection->lpVtbl->Item(collection, idx, &device);
if (FAILED(hr)) {
Reported by FlawFinder.