]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
MINOR: compression: try init in cfgparse.c
authorWilliam Lallemand <wlallemand@exceliance.fr>
Wed, 7 Nov 2012 12:21:47 +0000 (13:21 +0100)
committerWilly Tarreau <w@1wt.eu>
Thu, 8 Nov 2012 14:23:30 +0000 (15:23 +0100)
Try to init and deinit the algorithm in the configuration parser and
exit with error if it doesn't work.

src/cfgparse.c

index 2b451225dc3137a16440a6f8da8e4092de31d936..4a1ca758ac93a28e3b22aa58ea8e2ab760586ad0 100644 (file)
@@ -5296,6 +5296,8 @@ stats_error_parsing:
 
                if (!strcmp(args[1], "algo")) {
                        int cur_arg;
+                       struct comp_ctx ctx;
+
                        cur_arg = 2;
                        if (!*args[cur_arg]) {
                                Alert("parsing [%s:%d] : '%s' expects <algorithm>\n",
@@ -5310,6 +5312,14 @@ stats_error_parsing:
                                        err_code |= ERR_ALERT | ERR_FATAL;
                                        goto out;
                                }
+                               if (curproxy->comp->algos->init(&ctx, 9) == 0) {
+                                       curproxy->comp->algos->end(&ctx);
+                               } else {
+                                       Alert("parsing [%s:%d] : '%s' : Can't init '%s' algorithm.\n",
+                                             file, linenum, args[0], args[cur_arg]);
+                                       err_code |= ERR_ALERT | ERR_FATAL;
+                                       goto out;
+                               }
                                cur_arg ++;
                                continue;
                        }