@@ -168,15 +168,14 @@ void RandAddSeedPerfmon()
168
168
#ifdef WIN32
169
169
// Don't need this on Linux, OpenSSL automatically uses /dev/urandom
170
170
// Seed with the entire set of perfmon data
171
- unsigned char pdata[250000 ];
172
- memset (pdata, 0 , sizeof (pdata));
173
- unsigned long nSize = sizeof (pdata);
174
- long ret = RegQueryValueExA (HKEY_PERFORMANCE_DATA, " Global" , NULL , NULL , pdata, &nSize);
171
+ std::vector <unsigned char > vData (250000 ,0 );
172
+ unsigned long nSize = vData.size ();
173
+ long ret = RegQueryValueExA (HKEY_PERFORMANCE_DATA, " Global" , NULL , NULL , begin_ptr (vData), &nSize);
175
174
RegCloseKey (HKEY_PERFORMANCE_DATA);
176
175
if (ret == ERROR_SUCCESS)
177
176
{
178
- RAND_add (pdata , nSize, nSize/100.0 );
179
- OPENSSL_cleanse (pdata , nSize);
177
+ RAND_add (begin_ptr (vData) , nSize, nSize/100.0 );
178
+ OPENSSL_cleanse (begin_ptr (vData) , nSize);
180
179
LogPrint (" rand" , " RandAddSeed() %lu bytes\n " , nSize);
181
180
}
182
181
#endif
@@ -1141,15 +1140,15 @@ void ShrinkDebugFile()
1141
1140
if (file && boost::filesystem::file_size (pathLog) > 10 * 1000000 )
1142
1141
{
1143
1142
// Restart the file with some of the end
1144
- char pch[ 200000 ] ;
1145
- fseek (file, -sizeof (pch ), SEEK_END);
1146
- int nBytes = fread (pch , 1 , sizeof (pch ), file);
1143
+ std::vector < char > vch ( 200000 , 0 ) ;
1144
+ fseek (file, -vch. size ( ), SEEK_END);
1145
+ int nBytes = fread (begin_ptr (vch) , 1 , vch. size ( ), file);
1147
1146
fclose (file);
1148
1147
1149
1148
file = fopen (pathLog.string ().c_str (), " w" );
1150
1149
if (file)
1151
1150
{
1152
- fwrite (pch , 1 , nBytes, file);
1151
+ fwrite (begin_ptr (vch) , 1 , nBytes, file);
1153
1152
fclose (file);
1154
1153
}
1155
1154
}
0 commit comments