summaryrefslogtreecommitdiff
path: root/src/core/stdfile
diff options
context:
space:
mode:
authorGeorge Hazan <ghazan@miranda.im>2021-06-05 17:50:34 +0300
committerGeorge Hazan <ghazan@miranda.im>2021-06-05 17:50:34 +0300
commitd7c9eb34f80f207efd47d2fc65e31aedf166c323 (patch)
tree338b9b905674dc31b1efab739dfcedeed3d8d7b3 /src/core/stdfile
parentffc5a3d7550528281976745279e77ac9faba551b (diff)
major code cleaning in regard to db_event_getBlobSize & event memory allocation
Diffstat (limited to 'src/core/stdfile')
-rw-r--r--src/core/stdfile/src/filerecvdlg.cpp9
1 files changed, 3 insertions, 6 deletions
diff --git a/src/core/stdfile/src/filerecvdlg.cpp b/src/core/stdfile/src/filerecvdlg.cpp
index d9b54d4f8a..a1e11bafb5 100644
--- a/src/core/stdfile/src/filerecvdlg.cpp
+++ b/src/core/stdfile/src/filerecvdlg.cpp
@@ -222,12 +222,9 @@ INT_PTR CALLBACK DlgProcRecvFile(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM l
db_event_markRead(dat->hContact, dat->hDbEvent);
- DBEVENTINFO dbei = {};
- dbei.cbBlob = db_event_getBlobSize(dat->hDbEvent);
- if (dbei.cbBlob > 4 && dbei.cbBlob <= 8196) {
- dbei.pBlob = (PBYTE)alloca(dbei.cbBlob + 1);
- db_event_get(dat->hDbEvent, &dbei);
- dbei.pBlob[dbei.cbBlob] = 0;
+ DB::EventInfo dbei;
+ dbei.cbBlob = -1;
+ if (!db_event_get(dat->hDbEvent, &dbei)) {
dat->fs = cle->lParam ? (HANDLE)cle->lParam : (HANDLE)*(PDWORD)dbei.pBlob;
char *str = (char*)dbei.pBlob + 4;