[compiler-rt] r330458 - [Sanitizer] Internal Printf string precision argument + padding.

Aleksey Shlyapnikov via llvm-commits llvm-commits at lists.llvm.org
Fri Apr 20 13:32:51 PDT 2018


Sorry for that and I already reverted it.

On Fri, Apr 20, 2018 at 1:31 PM, Sean Fertile <sfertile at ca.ibm.com> wrote:

> Hi Alex,
>
> I'm able to confirm locally this commit did break that test on several of
> the build bots. Can you have a look.
>
> Thanks
> Sean
>
>
> ----- Original message -----
> From: Peter Collingbourne via llvm-commits <llvm-commits at lists.llvm.org>
> Sent by: "llvm-commits" <llvm-commits-bounces at lists.llvm.org>
> To: Alex Shlyapnikov <alekseys at google.com>
> Cc: llvm-commits <llvm-commits at lists.llvm.org>
> Subject: Re: [compiler-rt] r330458 - [Sanitizer] Internal Printf string
> precision argument + padding.
> Date: Fri, Apr 20, 2018 3:49 PM
>
> Could this have caused this test failure?
> http://lab.llvm.org:8011/builders/clang-ppc64le-linux-lnt/builds/11600
> <https://urldefense.proofpoint.com/v2/url?u=http-3A__lab.llvm.org-3A8011_builders_clang-2Dppc64le-2Dlinux-2Dlnt_builds_11600&d=DwMFaQ&c=jf_iaSHvJObTbx-siA1ZOg&r=vE89RddfSAMwAmW9D-c51sqQCl8tXHenTEyBrBeQeeA&m=44j85w_M0UtdfV9zXiUc1cz71_CmTtBnXRN6TbwI9w4&s=WOYEvuKj2KZu3HxHogFRQCE8Affd3GERRdU53Ne8erE&e=>
>
> Peter
>
> On Fri, Apr 20, 2018 at 11:03 AM, Alex Shlyapnikov via llvm-commits <
> llvm-commits at lists.llvm.org> wrote:
>
> Author: alekseyshl
> Date: Fri Apr 20 11:03:10 2018
> New Revision: 330458
>
> URL: http://llvm.org/viewvc/llvm-project?rev=330458&view=rev
> <https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject-3Frev-3D330458-26view-3Drev&d=DwMFaQ&c=jf_iaSHvJObTbx-siA1ZOg&r=vE89RddfSAMwAmW9D-c51sqQCl8tXHenTEyBrBeQeeA&m=44j85w_M0UtdfV9zXiUc1cz71_CmTtBnXRN6TbwI9w4&s=lxId1HemfQ5GrW9BpDVvqiAQvCXvOha2MaGtuTfvDAc&e=>
> Log:
> [Sanitizer] Internal Printf string precision argument + padding.
>
> Summary:
> Example:
>   Printf("%.*s", 5, "123");
> should yield:
>   '123  '
>
> In case Printf's requested string precision is larger than the string
> argument, the resulting string should be padded up to the requested
> precision.
>
> For the simplicity sake, implementing right padding only.
>
> Reviewers: eugenis
>
> Subscribers: kubamracek, delcypher, #sanitizers, llvm-commits
>
> Differential Revision: https://reviews.llvm.org/D45844
> <https://urldefense.proofpoint.com/v2/url?u=https-3A__reviews.llvm.org_D45844&d=DwMFaQ&c=jf_iaSHvJObTbx-siA1ZOg&r=vE89RddfSAMwAmW9D-c51sqQCl8tXHenTEyBrBeQeeA&m=44j85w_M0UtdfV9zXiUc1cz71_CmTtBnXRN6TbwI9w4&s=1JWiVkL4I1OpNJ7Tmg0vIJfAhySHUnuIiBBHZ03Ea7M&e=>
>
> Modified:
>     compiler-rt/trunk/lib/sanitizer_common/sanitizer_printf.cc
>     compiler-rt/trunk/lib/sanitizer_common/tests/sanitizer_printf_test.cc
>
> Modified: compiler-rt/trunk/lib/sanitizer_common/sanitizer_printf.cc
> URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sa
> nitizer_common/sanitizer_printf.cc?rev=330458&r1=330457&r2=
> 330458&view=diff
> <https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_compiler-2Drt_trunk_lib_sanitizer-5Fcommon_sanitizer-5Fprintf.cc-3Frev-3D330458-26r1-3D330457-26r2-3D330458-26view-3Ddiff&d=DwMFaQ&c=jf_iaSHvJObTbx-siA1ZOg&r=vE89RddfSAMwAmW9D-c51sqQCl8tXHenTEyBrBeQeeA&m=44j85w_M0UtdfV9zXiUc1cz71_CmTtBnXRN6TbwI9w4&s=IFA6iXTsxuFg_XK7hML_0U6MwAli8UPyQHvFogchclo&e=>
> ============================================================
> ==================
> --- compiler-rt/trunk/lib/sanitizer_common/sanitizer_printf.cc (original)
> +++ compiler-rt/trunk/lib/sanitizer_common/sanitizer_printf.cc Fri Apr 20
> 11:03:10 2018
> @@ -105,6 +105,8 @@ static int AppendString(char **buff, con
>        break;
>      result += AppendChar(buff, buff_end, *s);
>    }
> +  while (result < precision)
> +    result += AppendChar(buff, buff_end, ' ');
>    return result;
>  }
>
>
> Modified: compiler-rt/trunk/lib/sanitizer_common/tests/sanitizer_
> printf_test.cc
> URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sa
> nitizer_common/tests/sanitizer_printf_test.cc?rev=330458&r1=
> 330457&r2=330458&view=diff
> <https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_compiler-2Drt_trunk_lib_sanitizer-5Fcommon_tests_sanitizer-5Fprintf-5Ftest.cc-3Frev-3D330458-26r1-3D330457-26r2-3D330458-26view-3Ddiff&d=DwMFaQ&c=jf_iaSHvJObTbx-siA1ZOg&r=vE89RddfSAMwAmW9D-c51sqQCl8tXHenTEyBrBeQeeA&m=44j85w_M0UtdfV9zXiUc1cz71_CmTtBnXRN6TbwI9w4&s=iw8w9Bs5nJgxe1QZNAMZaZTdrtSPXLnsQWN2xTlUUGI&e=>
> ============================================================
> ==================
> --- compiler-rt/trunk/lib/sanitizer_common/tests/sanitizer_printf_test.cc
> (original)
> +++ compiler-rt/trunk/lib/sanitizer_common/tests/sanitizer_printf_test.cc
> Fri Apr 20 11:03:10 2018
> @@ -146,8 +146,13 @@ TEST(Printf, Precision) {
>    EXPECT_EQ(3U, len);
>    EXPECT_STREQ("123", buf);
>    len = internal_snprintf(buf, sizeof(buf), "%.*s", 6, "12345");
> -  EXPECT_EQ(5U, len);
> -  EXPECT_STREQ("12345", buf);
> +  EXPECT_EQ(6U, len);
> +  EXPECT_STREQ("12345 ", buf);
> +  // CHeck that precision does not overflow the smaller buffer, although
> +  // 10 chars is requested, it stops at the buffer size, 8.
> +  len = internal_snprintf(buf, 8, "%.*s", 10, "12345");
> +  EXPECT_EQ(10U, len);  // The required size reported.
> +  EXPECT_STREQ("12345  ", buf);
>  }
>
>  }  // namespace __sanitizer
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
> <https://urldefense.proofpoint.com/v2/url?u=http-3A__lists.llvm.org_cgi-2Dbin_mailman_listinfo_llvm-2Dcommits&d=DwMFaQ&c=jf_iaSHvJObTbx-siA1ZOg&r=vE89RddfSAMwAmW9D-c51sqQCl8tXHenTEyBrBeQeeA&m=44j85w_M0UtdfV9zXiUc1cz71_CmTtBnXRN6TbwI9w4&s=d3_I3Nd6o1aLgPk-G3iqFkx4zT62kc-ySwpYPzzY-XY&e=>
>
>
>
> --
> --
> Peter
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> https://urldefense.proofpoint.com/v2/url?u=http-3A__lists.
> llvm.org_cgi-2Dbin_mailman_listinfo_llvm-2Dcommits&d=
> DwIGaQ&c=jf_iaSHvJObTbx-siA1ZOg&r=vE89RddfSAMwAmW9D-
> c51sqQCl8tXHenTEyBrBeQeeA&m=44j85w_M0UtdfV9zXiUc1cz71_
> CmTtBnXRN6TbwI9w4&s=d3_I3Nd6o1aLgPk-G3iqFkx4zT62kc-ySwpYPzzY-XY&e=
>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180420/b595a42b/attachment.html>


More information about the llvm-commits mailing list