[
https://issues.apache.org/jira/browse/TS-3209?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Alan M. Carroll updated TS-3209:
--------------------------------
Fix Version/s: (was: 6.2.0)
7.0.0
> clang warnings compiling the secure-link example plugin
> -------------------------------------------------------
>
> Key: TS-3209
> URL: https://issues.apache.org/jira/browse/TS-3209
> Project: Traffic Server
> Issue Type: Bug
> Components: Plugins
> Reporter: Leif Hedstrom
> Assignee: Alan M. Carroll
> Fix For: 7.0.0
>
>
> {code}
> CC secure-link/secure-link.lo
> secure-link/secure-link.c:69:1973: warning: array index 3 is past the end of
> the array (which contains 3 elements) [-Warray-bounds]
> if(__extension__ ({ size_t __s1_len, __s2_len;
> (__builtin_constant_p (ptr) && __builtin_constant_p ("st") && (__s1_len =
> strlen (ptr), __s2_len = strlen ("st"), (!((size_t)(const void *)((ptr) + 1)
> - (size_t)(const void *)(ptr) == 1) || __s1_len >= 4) && (!((size_t)(const
> void *)(("st") + 1) - (size_t)(const void *)("st") == 1) || __s2_len >= 4)) ?
> __builtin_strcmp (ptr, "st") : (__builtin_constant_p (ptr) && ((size_t)(const
> void *)((ptr) + 1) - (size_t)(const void *)(ptr) == 1) && (__s1_len = strlen
> (ptr), __s1_len < 4) ? (__builtin_constant_p ("st") && ((size_t)(const void
> *)(("st") + 1) - (size_t)(const void *)("st") == 1) ? __builtin_strcmp (ptr,
> "st") : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *)
> (const char *) ("st"); int __result = (((const unsigned char *) (const char
> *) (ptr))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result =
> (((const unsigned char *) (const char *) (ptr))[1] - __s2[1]); if (__s1_len >
> 1 && __result == 0) { __result = (((const unsigned char *) (const char *)
> (ptr))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((const
> unsigned char *) (const char *) (ptr))[3] - __s2[3]); } } __result; }))) :
> (__builtin_constant_p ("st") && ((size_t)(const void *)(("st") + 1) -
> (size_t)(const void *)("st") == 1) && (__s2_len = strlen ("st"), __s2_len <
> 4) ? (__builtin_constant_p (ptr) && ((size_t)(const void *)((ptr) + 1) -
> (size_t)(const void *)(ptr) == 1) ? __builtin_strcmp (ptr, "st") : (-
> (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const
> char *) (ptr); int __result = (((const unsigned char *) (const char *)
> ("st"))[0] - __s2[0]); if (__s2_len > 0 && __result == 0) { __result =
> (((const unsigned char *) (const char *) ("st"))[1] - __s2[1]); if (__s2_len
> > 1 && __result == 0) { __result = (((const unsigned char *) (const char *)
> ("st"))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const
> unsigned char *) (const char *) ("st"))[3] - __s2[3]); } } __result; })))) :
> __builtin_strcmp (ptr, "st")))); }) == 0) {
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> ^ ~
> secure-link/secure-link.c:71:1980: warning: array index 3 is past the end of
> the array (which contains 3 elements) [-Warray-bounds]
> } else if(__extension__ ({ size_t __s1_len, __s2_len;
> (__builtin_constant_p (ptr) && __builtin_constant_p ("ex") && (__s1_len =
> strlen (ptr), __s2_len = strlen ("ex"), (!((size_t)(const void *)((ptr) + 1)
> - (size_t)(const void *)(ptr) == 1) || __s1_len >= 4) && (!((size_t)(const
> void *)(("ex") + 1) - (size_t)(const void *)("ex") == 1) || __s2_len >= 4)) ?
> __builtin_strcmp (ptr, "ex") : (__builtin_constant_p (ptr) && ((size_t)(const
> void *)((ptr) + 1) - (size_t)(const void *)(ptr) == 1) && (__s1_len = strlen
> (ptr), __s1_len < 4) ? (__builtin_constant_p ("ex") && ((size_t)(const void
> *)(("ex") + 1) - (size_t)(const void *)("ex") == 1) ? __builtin_strcmp (ptr,
> "ex") : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *)
> (const char *) ("ex"); int __result = (((const unsigned char *) (const char
> *) (ptr))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result =
> (((const unsigned char *) (const char *) (ptr))[1] - __s2[1]); if (__s1_len >
> 1 && __result == 0) { __result = (((const unsigned char *) (const char *)
> (ptr))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((const
> unsigned char *) (const char *) (ptr))[3] - __s2[3]); } } __result; }))) :
> (__builtin_constant_p ("ex") && ((size_t)(const void *)(("ex") + 1) -
> (size_t)(const void *)("ex") == 1) && (__s2_len = strlen ("ex"), __s2_len <
> 4) ? (__builtin_constant_p (ptr) && ((size_t)(const void *)((ptr) + 1) -
> (size_t)(const void *)(ptr) == 1) ? __builtin_strcmp (ptr, "ex") : (-
> (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const
> char *) (ptr); int __result = (((const unsigned char *) (const char *)
> ("ex"))[0] - __s2[0]); if (__s2_len > 0 && __result == 0) { __result =
> (((const unsigned char *) (const char *) ("ex"))[1] - __s2[1]); if (__s2_len
> > 1 && __result == 0) { __result = (((const unsigned char *) (const char *)
> ("ex"))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const
> unsigned char *) (const char *) ("ex"))[3] - __s2[3]); } } __result; })))) :
> __builtin_strcmp (ptr, "ex")))); }) == 0) {
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)