aboutsummaryrefslogtreecommitdiff
path: root/src/ats
diff options
context:
space:
mode:
authorMatthias Wachs <wachs@net.in.tum.de>2012-06-19 13:14:18 +0000
committerMatthias Wachs <wachs@net.in.tum.de>2012-06-19 13:14:18 +0000
commit0f084973d63c46217d25e6660fba56755f26e6bb (patch)
tree69b00a705dac9fb646c1a0e30b338b024e95de68 /src/ats
parente02cb36c96f1745b357fe723b2990753247acb46 (diff)
downloadgnunet-0f084973d63c46217d25e6660fba56755f26e6bb.tar.gz
gnunet-0f084973d63c46217d25e6660fba56755f26e6bb.zip
- fix memory leaks
Diffstat (limited to 'src/ats')
-rw-r--r--src/ats/ats_api_scheduling.c84
1 files changed, 44 insertions, 40 deletions
diff --git a/src/ats/ats_api_scheduling.c b/src/ats/ats_api_scheduling.c
index 90221537a..398c8b2d0 100644
--- a/src/ats/ats_api_scheduling.c
+++ b/src/ats/ats_api_scheduling.c
@@ -1097,16 +1097,6 @@ GNUNET_ATS_address_add (struct GNUNET_ATS_SchedulingHandle *sh,
1097 return GNUNET_SYSERR; 1097 return GNUNET_SYSERR;
1098 } 1098 }
1099 1099
1100 p = GNUNET_malloc (sizeof (struct PendingMessage) + msize);
1101 p->size = msize;
1102 p->is_init = GNUNET_NO;
1103 m = (struct AddressUpdateMessage *) &p[1];
1104 m->header.type = htons (GNUNET_MESSAGE_TYPE_ATS_ADDRESS_ADD);
1105 m->header.size = htons (msize);
1106 m->ats_count = htonl (ats_count);
1107 m->peer = address->peer;
1108 m->address_length = htons (address->address_length);
1109 m->plugin_name_length = htons (namelen);
1110 if (NULL != session) 1100 if (NULL != session)
1111 { 1101 {
1112 s = find_session_id (sh, session, &address->peer); 1102 s = find_session_id (sh, session, &address->peer);
@@ -1122,6 +1112,17 @@ GNUNET_ATS_address_add (struct GNUNET_ATS_SchedulingHandle *sh,
1122 s = find_empty_session_slot (sh, session, &address->peer); 1112 s = find_empty_session_slot (sh, session, &address->peer);
1123 GNUNET_break (NOT_FOUND != s); 1113 GNUNET_break (NOT_FOUND != s);
1124 } 1114 }
1115
1116 p = GNUNET_malloc (sizeof (struct PendingMessage) + msize);
1117 p->size = msize;
1118 p->is_init = GNUNET_NO;
1119 m = (struct AddressUpdateMessage *) &p[1];
1120 m->header.type = htons (GNUNET_MESSAGE_TYPE_ATS_ADDRESS_ADD);
1121 m->header.size = htons (msize);
1122 m->ats_count = htonl (ats_count);
1123 m->peer = address->peer;
1124 m->address_length = htons (address->address_length);
1125 m->plugin_name_length = htons (namelen);
1125 m->session_id = htonl (s); 1126 m->session_id = htonl (s);
1126 1127
1127 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, 1128 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
@@ -1197,16 +1198,6 @@ GNUNET_ATS_address_update (struct GNUNET_ATS_SchedulingHandle *sh,
1197 return; 1198 return;
1198 } 1199 }
1199 1200
1200 p = GNUNET_malloc (sizeof (struct PendingMessage) + msize);
1201 p->size = msize;
1202 p->is_init = GNUNET_NO;
1203 m = (struct AddressUpdateMessage *) &p[1];
1204 m->header.type = htons (GNUNET_MESSAGE_TYPE_ATS_ADDRESS_UPDATE);
1205 m->header.size = htons (msize);
1206 m->ats_count = htonl (ats_count);
1207 m->peer = address->peer;
1208 m->address_length = htons (address->address_length);
1209 m->plugin_name_length = htons (namelen);
1210 if (NULL != session) 1201 if (NULL != session)
1211 { 1202 {
1212 s = find_session_id (sh, session, &address->peer); 1203 s = find_session_id (sh, session, &address->peer);
@@ -1221,6 +1212,18 @@ GNUNET_ATS_address_update (struct GNUNET_ATS_SchedulingHandle *sh,
1221 return; 1212 return;
1222 } 1213 }
1223 } 1214 }
1215
1216 p = GNUNET_malloc (sizeof (struct PendingMessage) + msize);
1217 p->size = msize;
1218 p->is_init = GNUNET_NO;
1219 m = (struct AddressUpdateMessage *) &p[1];
1220 m->header.type = htons (GNUNET_MESSAGE_TYPE_ATS_ADDRESS_UPDATE);
1221 m->header.size = htons (msize);
1222 m->ats_count = htonl (ats_count);
1223 m->peer = address->peer;
1224 m->address_length = htons (address->address_length);
1225 m->plugin_name_length = htons (namelen);
1226
1224 m->session_id = htonl (s); 1227 m->session_id = htonl (s);
1225 1228
1226 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, 1229 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
@@ -1273,16 +1276,6 @@ GNUNET_ATS_address_in_use (struct GNUNET_ATS_SchedulingHandle *sh,
1273 return; 1276 return;
1274 } 1277 }
1275 1278
1276 p = GNUNET_malloc (sizeof (struct PendingMessage) + msize);
1277 p->size = msize;
1278 p->is_init = GNUNET_NO;
1279 m = (struct AddressUseMessage *) &p[1];
1280 m->header.type = htons (GNUNET_MESSAGE_TYPE_ATS_ADDRESS_IN_USE);
1281 m->header.size = htons (msize);
1282 m->peer = address->peer;
1283 m->in_use = htons (in_use);
1284 m->address_length = htons (address->address_length);
1285 m->plugin_name_length = htons (namelen);
1286 if (session != NULL) 1279 if (session != NULL)
1287 { 1280 {
1288 s = find_session_id (sh, session, &address->peer); 1281 s = find_session_id (sh, session, &address->peer);
@@ -1303,6 +1296,17 @@ GNUNET_ATS_address_in_use (struct GNUNET_ATS_SchedulingHandle *sh,
1303 } 1296 }
1304 } 1297 }
1305 1298
1299 p = GNUNET_malloc (sizeof (struct PendingMessage) + msize);
1300 p->size = msize;
1301 p->is_init = GNUNET_NO;
1302 m = (struct AddressUseMessage *) &p[1];
1303 m->header.type = htons (GNUNET_MESSAGE_TYPE_ATS_ADDRESS_IN_USE);
1304 m->header.size = htons (msize);
1305 m->peer = address->peer;
1306 m->in_use = htons (in_use);
1307 m->address_length = htons (address->address_length);
1308 m->plugin_name_length = htons (namelen);
1309
1306 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, 1310 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
1307 "Setting address used to %s for peer `%s', plugin `%s', session %p\n", 1311 "Setting address used to %s for peer `%s', plugin `%s', session %p\n",
1308 (GNUNET_YES == in_use) ? "YES" : "NO", 1312 (GNUNET_YES == in_use) ? "YES" : "NO",
@@ -1351,6 +1355,16 @@ GNUNET_ATS_address_destroyed (struct GNUNET_ATS_SchedulingHandle *sh,
1351 return; 1355 return;
1352 } 1356 }
1353 1357
1358 s = find_session_id (sh, session, &address->peer);
1359 if ((NULL != session) && (NOT_FOUND == s))
1360 {
1361 /* trying to delete unknown address */
1362 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
1363 "Trying to delete unknown address for peer `%s', plugin `%s', session %p\n",
1364 GNUNET_i2s (&address->peer), address->transport_name, session);
1365 return;
1366 }
1367
1354 p = GNUNET_malloc (sizeof (struct PendingMessage) + msize); 1368 p = GNUNET_malloc (sizeof (struct PendingMessage) + msize);
1355 p->size = msize; 1369 p->size = msize;
1356 p->is_init = GNUNET_NO; 1370 p->is_init = GNUNET_NO;
@@ -1362,16 +1376,6 @@ GNUNET_ATS_address_destroyed (struct GNUNET_ATS_SchedulingHandle *sh,
1362 m->address_length = htons (address->address_length); 1376 m->address_length = htons (address->address_length);
1363 m->plugin_name_length = htons (namelen); 1377 m->plugin_name_length = htons (namelen);
1364 1378
1365 s = find_session_id (sh, session, &address->peer);
1366 if ((NULL != session) && (NOT_FOUND == s))
1367 {
1368 /* trying to delete unknown address */
1369 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
1370 "Trying to delete unknown address for peer `%s', plugin `%s', session %p\n",
1371 GNUNET_i2s (&address->peer), address->transport_name, session);
1372 return;
1373 }
1374
1375 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, 1379 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
1376 "Deleting address for peer `%s', plugin `%s', session %p\n", 1380 "Deleting address for peer `%s', plugin `%s', session %p\n",
1377 GNUNET_i2s (&address->peer), address->transport_name, session); 1381 GNUNET_i2s (&address->peer), address->transport_name, session);