Leif Hedstrom created TS-3241:
---------------------------------
Summary: Compile warnings on secure-link example
Key: TS-3241
URL: https://issues.apache.org/jira/browse/TS-3241
Project: Traffic Server
Issue Type: Bug
Components: Plugins
Reporter: Leif Hedstrom
{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}
Also, why is this plugin in "examples", and is this not a duplicate of either
the existing URL signing plugin, or, possibly a future CDNI signing plugin?
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)