@@ -32,27 +32,25 @@ peconv::t_load_config_ver peconv::get_load_config_version(BYTE* buffer, size_t b
3232 const size_t curr_size = smallest->Size ;
3333
3434 if (is64b) {
35- switch (curr_size) {
36- case sizeof (peconv::IMAGE_LOAD_CONFIG_DIR64_W7 ) :
37- return peconv::LOAD_CONFIG_W7_VER ;
38- case sizeof (peconv::IMAGE_LOAD_CONFIG_DIR64_W8 ) :
39- return peconv::LOAD_CONFIG_W8_VER ;
40- case sizeof (peconv::IMAGE_LOAD_CONFIG_DIR64_W10 ) :
35+ if (curr_size >= sizeof (peconv::IMAGE_LOAD_CONFIG_DIR64_W10 )) {
4136 return peconv::LOAD_CONFIG_W10_VER ;
42- default :
43- return LOAD_CONFIG_UNK_VER ;
37+ }
38+ if (curr_size >= sizeof (peconv::IMAGE_LOAD_CONFIG_DIR64_W8 )) {
39+ return peconv::LOAD_CONFIG_W8_VER ;
40+ }
41+ if (curr_size >= sizeof (peconv::IMAGE_LOAD_CONFIG_DIR64_W7 )) {
42+ return peconv::LOAD_CONFIG_W7_VER ;
4443 }
4544 }
4645 else {
47- switch (curr_size) {
48- case sizeof (peconv::IMAGE_LOAD_CONFIG_DIR32_W7 ) :
49- return peconv::LOAD_CONFIG_W7_VER ;
50- case sizeof (peconv::IMAGE_LOAD_CONFIG_DIR32_W8 ) :
51- return peconv::LOAD_CONFIG_W8_VER ;
52- case sizeof (peconv::IMAGE_LOAD_CONFIG_DIR32_W10 ) :
46+ if (curr_size >= sizeof (peconv::IMAGE_LOAD_CONFIG_DIR32_W10 )) {
5347 return peconv::LOAD_CONFIG_W10_VER ;
54- default :
55- return LOAD_CONFIG_UNK_VER ;
48+ }
49+ if (curr_size >= sizeof (peconv::IMAGE_LOAD_CONFIG_DIR32_W8 )) {
50+ return peconv::LOAD_CONFIG_W8_VER ;
51+ }
52+ if (curr_size >= sizeof (peconv::IMAGE_LOAD_CONFIG_DIR32_W7 )) {
53+ return peconv::LOAD_CONFIG_W7_VER ;
5654 }
5755 }
5856 return LOAD_CONFIG_UNK_VER ;
0 commit comments