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)

Reply via email to