22
33using namespace std ;
44
5- size_t try_utf8_char_step (const unsigned char * buffer, size_t buffer_size, long offset)
5+ size_t try_utf8_char_step (const unsigned char * buffer, size_t buffer_size, size_t offset)
66{
77 // Returns 0 if it's not likely a valid utf8 character. For ascii range of characters it requires
88 // the character to be a displayable character.
@@ -99,14 +99,14 @@ int get_language_group(char16_t c)
9999// Switch the definition based on platform:
100100#if defined(_WIN32) || defined(_WIN64)
101101// Note: Buffer overrun security checks disabled, since they added ~50% overhead.
102- __declspec (safebuffers) extracted_string* try_extract_string(const unsigned char * buffer, size_t buffer_size, long offset, size_t min_chars)
102+ __declspec (safebuffers) extracted_string* try_extract_string(const unsigned char * buffer, size_t buffer_size, size_t offset, size_t min_chars)
103103#else
104- extracted_string* try_extract_string (const unsigned char * buffer, size_t buffer_size, long offset, size_t min_chars)
104+ extracted_string* try_extract_string (const unsigned char * buffer, size_t buffer_size, size_t offset, size_t min_chars)
105105#endif
106106{
107107 // Try extracting the string as either utf8 or unicode wchar format. Returns None if it's not a valid string.
108- int i;
109- int char_count;
108+ size_t i;
109+ size_t char_count;
110110
111111 // Try to parse as utf8 first
112112 size_t utf_char_len;
@@ -192,7 +192,7 @@ extracted_string* try_extract_string(const unsigned char* buffer, size_t buffer_
192192}
193193
194194
195- std::tuple<string, string, std::pair<int , int >, bool > try_extract_string_tuple (const unsigned char * buffer, size_t buffer_size, long offset, size_t min_chars, bool only_interesting)
195+ std::tuple<string, string, std::pair<size_t , size_t >, bool > try_extract_string_tuple (const unsigned char * buffer, size_t buffer_size, size_t offset, size_t min_chars, bool only_interesting)
196196{
197197 // Simple wrapper to return a tuple instead
198198 extracted_string* s = try_extract_string (buffer, buffer_size, offset, min_chars);
@@ -206,7 +206,7 @@ std::tuple<string, string, std::pair<int, int>, bool> try_extract_string_tuple(c
206206 auto result = std::make_tuple (
207207 s->get_string (),
208208 s->get_type_string (),
209- std::pair<int , int >(s->get_offset_start (), s->get_offset_end ()),
209+ std::pair<size_t , size_t >(s->get_offset_start (), s->get_offset_end ()),
210210 is_interesting
211211 );
212212
@@ -220,11 +220,11 @@ std::tuple<string, string, std::pair<int, int>, bool> try_extract_string_tuple(c
220220}
221221
222222
223- vector<std::tuple<string, string, std::pair<int , int >, bool >> extract_all_strings (const unsigned char buffer[], size_t buffer_size, size_t min_chars, bool only_interesting)
223+ vector<std::tuple<string, string, std::pair<size_t , size_t >, bool >> extract_all_strings (const unsigned char buffer[], size_t buffer_size, size_t min_chars, bool only_interesting)
224224{
225225 // Process the specified binary buffer and extract all strings
226- long offset = 0 ;
227- vector<std::tuple<string, string, std::pair<int , int >, bool >> r_vect;
226+ size_t offset = 0 ;
227+ vector<std::tuple<string, string, std::pair<size_t , size_t >, bool >> r_vect;
228228 vector<float > proba_interesting_vect;
229229 vector<float > proba_interesting_avg_vect;
230230 extracted_string* s;
@@ -242,10 +242,10 @@ vector<std::tuple<string, string, std::pair<int, int>, bool>> extract_all_string
242242
243243 // Add the new string
244244 r_vect.push_back (
245- tuple<string, string, std::pair<int , int >, bool >(
245+ tuple<string, string, std::pair<size_t , size_t >, bool >(
246246 s->get_string (),
247247 s->get_type_string (),
248- std::pair<int , int >(s->get_offset_start (), s->get_offset_end ()),
248+ std::pair<size_t , size_t >(s->get_offset_start (), s->get_offset_end ()),
249249 proba_interesting > 0.5
250250 )
251251 );
@@ -268,7 +268,7 @@ vector<std::tuple<string, string, std::pair<int, int>, bool>> extract_all_string
268268 proba_interesting_vect.push_back (proba_interesting);
269269
270270 // Advance by the byte-length of the string
271- offset += ( long ) s->get_size_in_bytes ();
271+ offset += s->get_size_in_bytes ();
272272
273273 // Cleanup
274274 delete s;
@@ -280,7 +280,7 @@ vector<std::tuple<string, string, std::pair<int, int>, bool>> extract_all_string
280280 }
281281
282282 // Have a pass through the strings averaging the interestingness and filtering
283- vector<std::tuple<string, string, std::pair<int , int >, bool >> r_vect_filt;
283+ vector<std::tuple<string, string, std::pair<size_t , size_t >, bool >> r_vect_filt;
284284 for (int i = 0 ; i < r_vect.size (); i++)
285285 {
286286 // Get the interestingness
@@ -298,7 +298,7 @@ vector<std::tuple<string, string, std::pair<int, int>, bool>> extract_all_string
298298 if (!only_interesting || proba_interesting_avg >= 0.2 || proba_interesting_vect[i] >= 0.5 )
299299 {
300300 r_vect_filt.push_back (
301- tuple<string, string, std::pair<int , int >, bool >(
301+ tuple<string, string, std::pair<size_t , size_t >, bool >(
302302 std::get<0 >(r_vect[i]),
303303 std::get<1 >(r_vect[i]),
304304 std::get<2 >(r_vect[i]),
0 commit comments