diff --git a/cve-test-suite/cve-2018-6836.c b/cve-test-suite/cve-2018-6836.c index 177199a2f..5331e131d 100644 --- a/cve-test-suite/cve-2018-6836.c +++ b/cve-test-suite/cve-2018-6836.c @@ -1,28 +1,30 @@ +// Bug: free uninitialized pointer +// Fix: https://code.wireshark.org/review/gitweb?p=wireshark.git;a=commit;h=28960d79cca262ac6b974f339697b299a1e28fef void *malloc(unsigned long); void free(void *); struct comment { - int *p; + int *data; }; struct table { - struct comment *p; + struct comment *com; }; -void delete_table(struct table *t) +void destroy_table(struct table *comment_table) { - free(t->p->p); - free(t->p); - free(t); + free(comment_table->com->data); + free(comment_table->com); + free(comment_table); } void f() { - struct table *t = (struct table *)malloc(sizeof(struct table)); + struct table *comment_table = (struct table *)malloc(sizeof(struct table)); struct comment *comment_rec = (struct comment *)malloc(sizeof(struct comment)); - t->p = comment_rec; - delete_table(t); + comment_table->com = comment_rec; + destroy_table(comment_table); }