aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar netblue30 <netblue30@yahoo.com>2016-02-14 09:23:43 -0500
committerLibravatar netblue30 <netblue30@yahoo.com>2016-02-14 09:23:43 -0500
commit34d0454da221ffbd4733324e3858847c8d8111ae (patch)
treec9d335adf84d7d3df6773e608066c364ec6d18af
parentsmall fixes (diff)
parentFix memory leak (diff)
downloadfirejail-34d0454da221ffbd4733324e3858847c8d8111ae.tar.gz
firejail-34d0454da221ffbd4733324e3858847c8d8111ae.tar.zst
firejail-34d0454da221ffbd4733324e3858847c8d8111ae.zip
Merge pull request #293 from reinerh/master
Fix memory leak
-rw-r--r--src/firejail/main.c10
-rw-r--r--src/firejail/profile.c2
2 files changed, 12 insertions, 0 deletions
diff --git a/src/firejail/main.c b/src/firejail/main.c
index 2f64d2268..4882e29e6 100644
--- a/src/firejail/main.c
+++ b/src/firejail/main.c
@@ -1598,6 +1598,16 @@ int main(int argc, char **argv) {
1598 free(cfg.seccomp_list_errno); 1598 free(cfg.seccomp_list_errno);
1599 } 1599 }
1600#endif 1600#endif
1601 if (cfg.profile) {
1602 ProfileEntry *prf = cfg.profile;
1603 while (prf != NULL) {
1604 ProfileEntry *next = prf->next;
1605 free(prf->data);
1606 free(prf->link);
1607 free(prf);
1608 prf = next;
1609 }
1610 }
1601 1611
1602 myexit(0); 1612 myexit(0);
1603 1613
diff --git a/src/firejail/profile.c b/src/firejail/profile.c
index e0de69e5e..5acbbec38 100644
--- a/src/firejail/profile.c
+++ b/src/firejail/profile.c
@@ -533,6 +533,8 @@ void profile_read(const char *fname) {
533 // verify syntax, exit in case of error 533 // verify syntax, exit in case of error
534 if (profile_check_line(ptr, lineno, fname)) 534 if (profile_check_line(ptr, lineno, fname))
535 profile_add(ptr); 535 profile_add(ptr);
536 else
537 free(ptr);
536 } 538 }
537 fclose(fp); 539 fclose(fp);
538} 540}