Commit 62a76702 by Bernd Edlinger Committed by Bernd Edlinger

gcov.c (md5sum_to_hex): Fix output of MD5 hex bytes.

2017-03-31  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * gcov.c (md5sum_to_hex): Fix output of MD5 hex bytes.
        (make_gcov_file_name): Use the canonical path name for generating
        the MD5 value.
        (read_line): Fix handling of files with ascii null bytes.

From-SVN: r246605
parent 0a55fbc0
2017-03-31 Bernd Edlinger <bernd.edlinger@hotmail.de>
* gcov.c (md5sum_to_hex): Fix output of MD5 hex bytes.
(make_gcov_file_name): Use the canonical path name for generating
the MD5 value.
(read_line): Fix handling of files with ascii null bytes.
2017-03-30 Matthew Fortune <matthew.fortune@imgtec.com>
* config/mips/mips.c (mips_expand_vector_init): Create a const_vector
......
......@@ -2167,7 +2167,7 @@ static void
md5sum_to_hex (const char *sum, char *buffer)
{
for (unsigned i = 0; i < 16; i++)
sprintf (buffer + (2 * i), "%02x", sum[i]);
sprintf (buffer + (2 * i), "%02x", (unsigned char)sum[i]);
}
/* Generate an output file name. INPUT_NAME is the canonicalized main
......@@ -2216,7 +2216,7 @@ make_gcov_file_name (const char *input_name, const char *src_name)
char md5sum_hex[33];
md5_init_ctx (&ctx);
md5_process_bytes (result, strlen (result), &ctx);
md5_process_bytes (src_name, strlen (src_name), &ctx);
md5_finish_ctx (&ctx, md5sum);
md5sum_to_hex (md5sum, md5sum_hex);
free (result);
......@@ -2512,14 +2512,20 @@ read_line (FILE *file)
{
size_t len = strlen (string + pos);
if (string[pos + len - 1] == '\n')
if (len && string[pos + len - 1] == '\n')
{
string[pos + len - 1] = 0;
return string;
}
pos += len;
string = XRESIZEVEC (char, string, string_len * 2);
string_len *= 2;
/* If the file contains NUL characters or an incomplete
last line, which can happen more than once in one run,
we have to avoid doubling the STRING_LEN unnecessarily. */
if (pos > string_len / 2)
{
string_len *= 2;
string = XRESIZEVEC (char, string, string_len);
}
}
return pos ? string : NULL;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment