Skip to content

Commit f2be1f2

Browse files
committed
mysql_adaptor: fix OOB when reading PT_DOUBLE from user_properties
==65777==ERROR: AddressSanitizer: stack-buffer-overflow READ of size 8 at 0x7b5db59df070 thread T27 f0 propval_dup(unsigned short, void const*) lib/mapi/propval.cpp:62 f1 tpropval_array_append lib/mapi/tpropval_array.cpp:29 f2 TPROPVAL_ARRAY::set(unsigned int, void const*) lib/mapi/tpropval_array.cpp:54 f3 gromox::mysql_plugin::get_user_props(char const*, TPROPVAL_ARRAY&) exch/mysql_adaptor/sql2.cpp:689 f4 mysql_adaptor_get_user_properties(char const*, TPROPVAL_ARRAY&) exch/mysql_adaptor/sql2.cpp:903 f5 gromox::EWS::Requests::process(gromox::EWS::Structures::mResolveNamesRequest&&, tinyxml2::XMLElement*, gromox::EWS::EWSContext const&) exch/ews/requests.cpp:1376 f6 process<gromox::EWS::Structures::mResolveNamesRequest> exch/ews/ews.cpp:222 Fixes: gromox-2.9-75-ge96ad0a9e
1 parent 91852a2 commit f2be1f2

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

exch/mysql_adaptor/sql2.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -685,7 +685,7 @@ bool mysql_plugin::get_user_props(const char *username,
685685
}
686686
case PT_DOUBLE:
687687
case PT_APPTIME: {
688-
float converted = strtof(strval, nullptr);
688+
double converted = strtod(strval, nullptr);
689689
if (properties.set(tag, &converted) != 0)
690690
return false;
691691
break;

0 commit comments

Comments
 (0)