Changeset e0f2dca
- Timestamp:
- 02/05/19 13:25:25 (2 years ago)
- Branches:
- develop
- Children:
- a0e5b65
- Parents:
- 4d253ae
- Location:
- lib
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
lib/format_pktmeta.c
r4d253ae re0f2dca 160 160 if (r == NULL) { return NULL; } 161 161 /* If there is not a result for the index return */ 162 if (r->num <= index) { return NULL; } 162 if (r->num <= index) { 163 trace_destroy_meta(r); 164 return NULL; 165 } 163 166 /* Ensure the supplied memory allocation is enough, if not only fill 164 167 * what we can */ … … 210 213 libtrace_meta_t *r = trace_get_interface_mac_meta(packet); 211 214 if (r == NULL) { return NULL; } 212 if (index >= r->num) { return NULL; } 215 if (index >= r->num) { 216 trace_destroy_meta(r); 217 return NULL; 218 } 213 219 if (r->items[index].len > spacelen) { 214 220 memcpy(space, r->items[index].data, spacelen); … … 255 261 if (r == NULL) { return 0; } 256 262 /* If the index wanted does not exist return 0 */ 257 if (index >= r->num) { return 0; } 263 if (index >= r->num) { 264 trace_destroy_meta(r); 265 return 0; 266 } 258 267 /* Need to check this more ERF reports this in network order */ 259 268 uint64_t data = *(uint64_t *)r->items[index].data; … … 296 305 libtrace_meta_t *r = trace_get_interface_ipv4_meta(packet); 297 306 if (r == NULL) { return 0; } 298 if (index >= r->num) { return 0; } 307 if (index >= r->num) { 308 trace_destroy_meta(r); 309 return 0; 310 } 299 311 uint32_t data = *(uint32_t *)r->items[index].data; 300 312 trace_destroy_meta(r); … … 361 373 libtrace_meta_t *r = trace_get_interface_ipv6_meta(packet); 362 374 if (r == NULL) { return NULL; } 363 if (r->num <= index) { return NULL; } 375 if (r->num <= index) { 376 trace_destroy_meta(r); 377 return NULL; 378 } 364 379 if (r->items[index].len > spacelen) { 365 380 memcpy(space, r->items[index].data, spacelen); … … 440 455 libtrace_meta_t *r = trace_get_interface_description_meta(packet); 441 456 if (r == NULL) { return NULL; } 442 if (r->num <= index) { return NULL; } 457 if (r->num <= index) { 458 trace_destroy_meta(r); 459 return NULL; 460 } 443 461 if (r->items[index].len > spacelen) { 444 462 memcpy(space, r->items[index].data, spacelen); … … 526 544 libtrace_meta_t *r = trace_get_interface_fcslen_meta(packet); 527 545 if (r == NULL) { return 0; } 528 if (r->num <= index) { return 0; } 546 if (r->num <= index) { 547 trace_destroy_meta(r); 548 return 0; 549 } 529 550 uint32_t data = *(uint32_t *)r->items[index].data; 530 551 trace_destroy_meta(r); … … 569 590 libtrace_meta_t *r = trace_get_interface_comment_meta(packet); 570 591 if (r == NULL) { return NULL; } 571 if (index > r->num) { return NULL; } 592 if (index > r->num) { 593 trace_destroy_meta(r); 594 return NULL; 595 } 572 596 if (r->items[index].len > spacelen) { 573 597 memcpy(space, r->items[index].data, spacelen); -
lib/libtrace.h.in
r4e9be84 re0f2dca 348 348 /** Err with trace output file **/ 349 349 TRACE_ERR_OUTPUT_FILE = -32, 350 /** ERR out of memory **/ 351 TRACE_ERR_OUT_OF_MEMORY = -33, 350 352 }; 351 353
Note: See TracChangeset
for help on using the changeset viewer.