From c779065d3584f801f31159e28ab8d4446d984649 Mon Sep 17 00:00:00 2001 From: Victor Julien Date: Fri, 5 Dec 2014 14:32:56 +0100 Subject: [PATCH] Bug 1329: error out on invalid rule protocol Due to a logic error in AppLayerProtoDetectGetProtoByName invalid protocols would not be detected as such. Instead of ALPROTO_UNKNOWN ALPROTO_MAX was returned. Bug #1329 --- src/app-layer-detect-proto.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/app-layer-detect-proto.c b/src/app-layer-detect-proto.c index b5b380cdbb..762d140b11 100644 --- a/src/app-layer-detect-proto.c +++ b/src/app-layer-detect-proto.c @@ -1729,19 +1729,17 @@ AppProto AppLayerProtoDetectGetProtoByName(char *alproto_name) { SCEnter(); - AppProto a = ALPROTO_UNKNOWN; - + AppProto a; for (a = 0; a < ALPROTO_MAX; a++) { if (alpd_ctx.alproto_names[a] != NULL && strlen(alpd_ctx.alproto_names[a]) == strlen(alproto_name) && (SCMemcmp(alpd_ctx.alproto_names[a], alproto_name, strlen(alproto_name)) == 0)) { - goto end; + SCReturnCT(a, "AppProto"); } } - end: - SCReturnCT(a, "AppProto"); + SCReturnCT(ALPROTO_UNKNOWN, "AppProto"); } char *AppLayerProtoDetectGetProtoName(AppProto alproto)