- Added METHOD_ENUM_END to mark the last valid method
METHOD_HEAD, /* 100 */
METHOD_CONNECT, /* 101 */
METHOD_TRACE, /* 110 */
- METHOD_PURGE /* 111 */
+ METHOD_PURGE, /* 111 */
+ METHOD_ENUM_END
};
typedef unsigned int method_t;
header.pad = ntohl(header.pad);
method = header.reqnum >> 24;
+ /* check if method is valid */
+ if (method >= METHOD_ENUM_END) {
+ debug(12, 0) ("icpHandleIcpV2: UNKNOWN METHOD: %d from %s\n",
+ method, inet_ntoa(from.sin_addr));
+ return;
+ }
switch (header.opcode) {
case ICP_QUERY:
/* We have a valid packet */