Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8214777

Avoid some GCC 8.X strncpy() errors in HotSpot

    Details

    • Subcomponent:
    • Resolved In Build:
      b10

      Backports

        Description

        Gcc 8 has strict (and sometimes buggy) tests for strncpy() misuse.

        A common pattern in the JDK is:

            const size_t not_impl_len = strlen(not_impl);
            *str = NEW_C_HEAP_ARRAY(char, not_impl_len+1, mtTracing);
            strncpy(*str, not_impl, not_impl_len);
            (*str)[not_impl_len] = '\0';

        More efficient code that does not cause GCC warnings would use strncpy()
        to add the trailing null, resulting in shorter code:

             strncpy(*str, not_impl, not_impl_len);
            (*str)[not_impl_len] = '\0';

        becomes:

            strncpy(*str, not_impl, not_impl_len+1);

        (found by compiling with GCC 8.1)

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  mikael Mikael Vidstedt
                  Reporter:
                  sgehwolf Severin Gehwolf
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  5 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: