comparison extensions/app_acct/acct_db.c @ 1233:0b4abb03bcaf

Fix double increment when realloc resulting in invalid SQL query
author Sebastien Decugis <sdecugis@freediameter.net>
date Wed, 04 Sep 2013 02:14:31 +0200
parents 1af09cc156d6
children
comparison
equal deleted inserted replaced
1232:9e92fa478c23 1233:0b4abb03bcaf
172 } 172 }
173 173
174 ADD_EXTEND("\") VALUES ("); 174 ADD_EXTEND("\") VALUES (");
175 175
176 if (acct_config->tsfield) { 176 if (acct_config->tsfield) {
177 ADD_EXTEND("$%d, ", ++idx); 177 ++idx;
178 ADD_EXTEND("$%d, ", idx);
178 } 179 }
179 if (acct_config->srvnfield) { 180 if (acct_config->srvnfield) {
180 ADD_EXTEND("'"); 181 ADD_EXTEND("'");
181 ADD_ESCAPE(fd_g_config->cnf_diamid); 182 ADD_ESCAPE(fd_g_config->cnf_diamid);
182 ADD_EXTEND("', "); 183 ADD_EXTEND("', ");
183 } 184 }
184 185
185 for (li = emptyrecords.all.next; li != &emptyrecords.all; li = li->next) { 186 for (li = emptyrecords.all.next; li != &emptyrecords.all; li = li->next) {
186 struct acct_record_item * i = (struct acct_record_item *)(li->o); 187 struct acct_record_item * i = (struct acct_record_item *)(li->o);
187 ADD_EXTEND("$%d::%s", ++idx, diam2db_types_mapping[i->param->avptype]); 188 ++idx;
189 ADD_EXTEND("$%d::%s", idx, diam2db_types_mapping[i->param->avptype]);
188 190
189 if (li->next != &emptyrecords.all) { 191 if (li->next != &emptyrecords.all) {
190 ADD_EXTEND(", "); 192 ADD_EXTEND(", ");
191 } 193 }
192 } 194 }
"Welcome to our mercurial repository"