Fix badly inceremented pointers 67/24767/1
authorLukasz Wojciechowski <l.wojciechow@partner.samsung.com>
Mon, 21 Jul 2014 12:26:23 +0000 (14:26 +0200)
committerLukasz Wojciechowski <l.wojciechow@partner.samsung.com>
Mon, 21 Jul 2014 12:26:23 +0000 (14:26 +0200)
Change-Id: I40790d15f973a6e7bfacefb39b307b2a7bd77510

src/admin/api/admin-api.cpp

index 5c2e2e6..70c5283 100644 (file)
@@ -93,27 +93,28 @@ int cynara_admin_set_policies(struct cynara_admin *p_cynara_admin,
     });
 
     try {
-        for (auto i = policies[0]; i; i++) {
-            if(!i->bucket || !i->client || !i->user || !i->privilege)
+        for (auto i = policies; *i; i++) {
+            if(!(*i)->bucket || !(*i)->client || !(*i)->user || !(*i)->privilege)
                 return CYNARA_ADMIN_API_INVALID_PARAM;
 
-            switch (i->result) {
+            switch ((*i)->result) {
                 case CYNARA_ADMIN_DELETE:
-                    remove[i->bucket].push_back(key(i));
+                    remove[(*i)->bucket].push_back(key(*i));
                     break;
                 case CYNARA_ADMIN_DENY:
-                    insertOrUpdate[i->bucket].push_back(Cynara::Policy(key(i),
+                    insertOrUpdate[(*i)->bucket].push_back(Cynara::Policy(key(*i),
                                                         Cynara::PredefinedPolicyType::DENY));
                     break;
                 case CYNARA_ADMIN_ALLOW:
-                    insertOrUpdate[i->bucket].push_back(Cynara::Policy(key(i),
+                    insertOrUpdate[(*i)->bucket].push_back(Cynara::Policy(key(*i),
                                                         Cynara::PredefinedPolicyType::ALLOW));
                     break;
                 case CYNARA_ADMIN_BUCKET:
-                    insertOrUpdate[i->bucket].push_back(Cynara::Policy(key(i),
+                    insertOrUpdate[(*i)->bucket].push_back(Cynara::Policy(key(*i),
                                                         Cynara::PolicyResult(
                                                         Cynara::PredefinedPolicyType::BUCKET,
-                                                        i->result_extra ? i->result_extra : "")));
+                                                        (*i)->result_extra ? (*i)->result_extra
+                                                        : "")));
                     break;
                 default:
                     return CYNARA_ADMIN_API_INVALID_PARAM;