]> granicus.if.org Git - libnl/commitdiff
rtnl_netem_set_delay_distribution: fix possible segfault
authorКоренберг Марк (ноутбук дома) <socketpair@gmail.com>
Thu, 7 Jun 2012 18:58:14 +0000 (00:58 +0600)
committerКоренберг Марк (ноутбук дома) <socketpair@gmail.com>
Thu, 7 Jun 2012 19:38:53 +0000 (01:38 +0600)
fix counting of elements in array. Just typo, as I think.

lib/route/qdisc/netem.c

index 997a31f38ab5ff9b41ba239bb85d27aa7729405b..5f2609613a6726a668e31aa824bc363531c9ac9f 100644 (file)
@@ -826,7 +826,7 @@ int rtnl_netem_set_delay_distribution(struct rtnl_qdisc *qdisc, const char *dist
        if (!(netem = rtnl_tc_data(TC_CAST(qdisc))))
                BUG();
                
-       FILE *f = NULL;
+       FILE *f;
        int i, n = 0;
        size_t len = 2048;
        char *line;
@@ -841,9 +841,10 @@ int rtnl_netem_set_delay_distribution(struct rtnl_qdisc *qdisc, const char *dist
        /* Check several locations for the dist file */
        char *test_path[] = { "", "./", "/usr/lib/tc/", "/usr/local/lib/tc/" };
        
-       for (i = 0; i < sizeof(test_path) && f == NULL; i++) {
+       for (i = 0; i < sizeof(test_path)/sizeof(test_path[0]); i++) {
                snprintf(name, NAME_MAX, "%s%s%s", test_path[i], dist_type, dist_suffix);
-               f = fopen(name, "r");
+               if ((f = fopen(name, "r")))
+                       break;
        }
        
        if ( f == NULL )