...
|
...
|
@@ -766,7 +766,7 @@ int CLAMAPI Scan_ScanObjectByHandle(CClamAVScanner *pScanner, HANDLE object, int
|
766
|
766
|
CLAM_SCAN_INFO si;
|
767
|
767
|
CLAM_ACTION act;
|
768
|
768
|
DWORD cbperf;
|
769
|
|
- wchar_t wvirname[MAX_VIRNAME_LEN];
|
|
769
|
+ wchar_t wvirname[MAX_VIRNAME_LEN] = L"Clam.";
|
770
|
770
|
LONG lo = 0, hi = 0, hi2 = 0;
|
771
|
771
|
|
772
|
772
|
si.cbSize = sizeof(si);
|
...
|
...
|
@@ -774,10 +774,10 @@ int CLAMAPI Scan_ScanObjectByHandle(CClamAVScanner *pScanner, HANDLE object, int
|
774
|
774
|
si.scanPhase = SCAN_PHASE_FINAL;
|
775
|
775
|
si.errorCode = CLAMAPI_SUCCESS;
|
776
|
776
|
if(res == CL_VIRUS) {
|
777
|
|
- if(MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, virname, -1, wvirname, MAX_VIRNAME_LEN))
|
|
777
|
+ if(MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, virname, -1, &wvirname[5], MAX_VIRNAME_LEN - 5))
|
778
|
778
|
si.pThreatName = wvirname;
|
779
|
779
|
else
|
780
|
|
- si.pThreatName = L"INFECTED";
|
|
780
|
+ si.pThreatName = L"Clam.INFECTED";
|
781
|
781
|
} else
|
782
|
782
|
si.pThreatName = NULL;
|
783
|
783
|
logg("*in final_cb with clamav context %p, instance %p, fd %d, result %d, virusname %S)\n", &sctx, inst, fd, res, si.pThreatName);
|
...
|
...
|
@@ -822,8 +822,9 @@ int CLAMAPI Scan_ScanObjectByHandle(CClamAVScanner *pScanner, HANDLE object, int
|
822
|
822
|
scaninfo->pThreatType = threat_type(virname);
|
823
|
823
|
wvirname = (wchar_t *)(scaninfo + 1);
|
824
|
824
|
scaninfo->pThreatName = wvirname;
|
825
|
|
- if(!MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, virname, -1, wvirname, MAX_VIRNAME_LEN))
|
826
|
|
- scaninfo->pThreatName = L"INFECTED";
|
|
825
|
+ memcpy(wvirname, L"Clam.", 10);
|
|
826
|
+ if(!MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, virname, -1, &wvirname[5], MAX_VIRNAME_LEN-5))
|
|
827
|
+ scaninfo->pThreatName = L"Clam.INFECTED";
|
827
|
828
|
*pInfoList = infolist;
|
828
|
829
|
logg("*Scan_ScanObjectByHandle (instance %p): created result list %p\n", inst, infolist);
|
829
|
830
|
}
|
...
|
...
|
@@ -916,7 +917,7 @@ cl_error_t postscan_cb(int fd, int result, const char *virname, void *context) {
|
916
|
916
|
CLAM_ACTION act;
|
917
|
917
|
HANDLE fdhdl;
|
918
|
918
|
DWORD perf;
|
919
|
|
- wchar_t wvirname[MAX_VIRNAME_LEN];
|
|
919
|
+ wchar_t wvirname[MAX_VIRNAME_LEN] = L"Clam.";
|
920
|
920
|
LONG lo = 0, hi = 0, hi2 = 0;
|
921
|
921
|
|
922
|
922
|
if(!context) {
|
...
|
...
|
@@ -932,10 +933,10 @@ cl_error_t postscan_cb(int fd, int result, const char *virname, void *context) {
|
932
|
932
|
si.scanPhase = SCAN_PHASE_POSTSCAN;
|
933
|
933
|
si.errorCode = CLAMAPI_SUCCESS;
|
934
|
934
|
if(result == CL_VIRUS) {
|
935
|
|
- if(MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, virname, -1, wvirname, MAX_VIRNAME_LEN))
|
|
935
|
+ if(MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, virname, -1, &wvirname[5], MAX_VIRNAME_LEN-5))
|
936
|
936
|
si.pThreatName = wvirname;
|
937
|
937
|
else
|
938
|
|
- si.pThreatName = L"INFECTED";
|
|
938
|
+ si.pThreatName = L"Clam.INFECTED";
|
939
|
939
|
} else
|
940
|
940
|
si.pThreatName = NULL;
|
941
|
941
|
logg("*in postscan_cb with clamav context %p, instance %p, fd %d, result %d, virusname %S)\n", context, inst, fd, result, si.pThreatName);
|