commit 7d68253bffa1fdf653a220a4b023a653c2ed29df from: Omar Polo date: Wed Mar 20 10:22:45 2024 UTC plug memleak in parsing the notify options The strings need to be released regardless of the process parsing the file. commit - ba97b2d7ec97e54a025a39e04c0fd59fdd54a57b commit + 7d68253bffa1fdf653a220a4b023a653c2ed29df blob - 4792873a2f7cc5b8b83fde7afc7b5a1a7f269d58 blob + b8cb49b93ee649511f7600e9a0f0644e63abffa9 --- gotd/parse.y +++ gotd/parse.y @@ -324,8 +324,8 @@ notifyflags : BRANCH STRING { free($2); YYERROR; } - free($2); } + free($2); } | REFERENCE NAMESPACE STRING { if (gotd_proc_id == PROC_GOTD || @@ -335,8 +335,8 @@ notifyflags : BRANCH STRING { free($3); YYERROR; } - free($3); } + free($3); } | EMAIL TO STRING { if (gotd_proc_id == PROC_GOTD || @@ -347,8 +347,8 @@ notifyflags : BRANCH STRING { free($3); YYERROR; } - free($3); } + free($3); } | EMAIL FROM STRING TO STRING { if (gotd_proc_id == PROC_GOTD || @@ -360,9 +360,9 @@ notifyflags : BRANCH STRING { free($5); YYERROR; } - free($3); - free($5); - } + } + free($3); + free($5); } | EMAIL TO STRING REPLY TO STRING { if (gotd_proc_id == PROC_GOTD || @@ -374,9 +374,9 @@ notifyflags : BRANCH STRING { free($6); YYERROR; } - free($3); - free($6); - } + } + free($3); + free($6); } | EMAIL FROM STRING TO STRING REPLY TO STRING { if (gotd_proc_id == PROC_GOTD || @@ -389,10 +389,10 @@ notifyflags : BRANCH STRING { free($8); YYERROR; } - free($3); - free($5); - free($8); } + free($3); + free($5); + free($8); } | EMAIL TO STRING RELAY STRING { if (gotd_proc_id == PROC_GOTD || @@ -404,9 +404,9 @@ notifyflags : BRANCH STRING { free($5); YYERROR; } - free($3); - free($5); } + free($3); + free($5); } | EMAIL FROM STRING TO STRING RELAY STRING { if (gotd_proc_id == PROC_GOTD || @@ -419,10 +419,10 @@ notifyflags : BRANCH STRING { free($7); YYERROR; } - free($3); - free($5); - free($7); } + free($3); + free($5); + free($7); } | EMAIL TO STRING REPLY TO STRING RELAY STRING { if (gotd_proc_id == PROC_GOTD || @@ -435,10 +435,10 @@ notifyflags : BRANCH STRING { free($8); YYERROR; } - free($3); - free($6); - free($8); } + free($3); + free($6); + free($8); } | EMAIL FROM STRING TO STRING REPLY TO STRING RELAY STRING { if (gotd_proc_id == PROC_GOTD || @@ -452,11 +452,11 @@ notifyflags : BRANCH STRING { free($10); YYERROR; } - free($3); - free($5); - free($8); - free($10); } + free($3); + free($5); + free($8); + free($10); } | EMAIL TO STRING RELAY STRING PORT STRING { if (gotd_proc_id == PROC_GOTD || @@ -469,10 +469,10 @@ notifyflags : BRANCH STRING { free($7); YYERROR; } - free($3); - free($5); - free($7); } + free($3); + free($5); + free($7); } | EMAIL FROM STRING TO STRING RELAY STRING PORT STRING { if (gotd_proc_id == PROC_GOTD || @@ -486,11 +486,11 @@ notifyflags : BRANCH STRING { free($9); YYERROR; } - free($3); - free($5); - free($7); - free($9); } + free($3); + free($5); + free($7); + free($9); } | EMAIL TO STRING REPLY TO STRING RELAY STRING PORT STRING { if (gotd_proc_id == PROC_GOTD || @@ -504,11 +504,11 @@ notifyflags : BRANCH STRING { free($10); YYERROR; } - free($3); - free($6); - free($8); - free($10); - } + } + free($3); + free($6); + free($8); + free($10); } | EMAIL FROM STRING TO STRING REPLY TO STRING RELAY STRING PORT STRING { if (gotd_proc_id == PROC_GOTD || @@ -523,12 +523,12 @@ notifyflags : BRANCH STRING { free($12); YYERROR; } - free($3); - free($5); - free($8); - free($10); - free($12); } + free($3); + free($5); + free($8); + free($10); + free($12); } | EMAIL TO STRING RELAY STRING PORT NUMBER { if (gotd_proc_id == PROC_GOTD || @@ -540,9 +540,9 @@ notifyflags : BRANCH STRING { free($5); YYERROR; } - free($3); - free($5); } + free($3); + free($5); } | EMAIL FROM STRING TO STRING RELAY STRING PORT NUMBER { if (gotd_proc_id == PROC_GOTD || @@ -555,10 +555,10 @@ notifyflags : BRANCH STRING { free($7); YYERROR; } - free($3); - free($5); - free($7); } + free($3); + free($5); + free($7); } | EMAIL TO STRING REPLY TO STRING RELAY STRING PORT NUMBER { if (gotd_proc_id == PROC_GOTD || @@ -571,10 +571,10 @@ notifyflags : BRANCH STRING { free($8); YYERROR; } - free($3); - free($6); - free($8); } + free($3); + free($6); + free($8); } | EMAIL FROM STRING TO STRING REPLY TO STRING RELAY STRING PORT NUMBER { if (gotd_proc_id == PROC_GOTD || @@ -588,11 +588,11 @@ notifyflags : BRANCH STRING { free($10); YYERROR; } - free($3); - free($5); - free($8); - free($10); } + free($3); + free($5); + free($8); + free($10); } | URL STRING { if (gotd_proc_id == PROC_GOTD || @@ -603,8 +603,8 @@ notifyflags : BRANCH STRING { free($2); YYERROR; } - free($2); } + free($2); } | URL STRING USER STRING PASSWORD STRING { if (gotd_proc_id == PROC_GOTD || @@ -616,10 +616,10 @@ notifyflags : BRANCH STRING { free($6); YYERROR; } - free($2); - free($4); - free($6); } + free($2); + free($4); + free($6); } ;