Subversion Repositories filter_foundry

Rev

Rev 87 | Rev 114 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 87 Rev 106
Line 47... Line 47...
47
        if( (resinfo = FindResource(hm,MAKEINTRESOURCE(parm_id),"PARM")) ){
47
        if( (resinfo = FindResource(hm,MAKEINTRESOURCE(parm_id),"PARM")) ){
48
                if( (h = LoadResource(hm,resinfo)) && (pparm = LockResource(h)) )
48
                if( (h = LoadResource(hm,resinfo)) && (pparm = LockResource(h)) )
49
                        res = readPARM(pparm,&gdata->parm,reason,1 /*Windows format resource*/);
49
                        res = readPARM(pparm,&gdata->parm,reason,1 /*Windows format resource*/);
50
        }else if( readobfusc && (resinfo = FindResource(hm,MAKEINTRESOURCE(OBFUSCDATA_ID),RT_RCDATA)) ){
50
        }else if( readobfusc && (resinfo = FindResource(hm,MAKEINTRESOURCE(OBFUSCDATA_ID),RT_RCDATA)) ){
51
                if( (h = LoadResource(hm,resinfo)) && (pparm = LockResource(h)) ){
51
                if( (h = LoadResource(hm,resinfo)) && (pparm = LockResource(h)) ){
-
 
52
                        // Fix by DM, 18 Dec 2018:
-
 
53
                        // We need to copy the information, because the resource data is read-only
52
                        obfusc(pparm,SizeofResource(hm,resinfo));
54
                        DWORD resSize = SizeofResource(hm,resinfo);
-
 
55
                        byte* copy = malloc(resSize);
-
 
56
                        memcpy(copy, pparm, resSize);
-
 
57
                        obfusc(copy, resSize);
53
                        res = readPARM(pparm,&gdata->parm,reason,1);
58
                        res = readPARM(copy,&gdata->parm,reason,1);
-
 
59
                        free(copy);
54
                }
60
                }
55
        }
61
        }
56
        return res;
62
        return res;
57
}
63
}
58
 
64