36 lines
1015 B
Diff
36 lines
1015 B
Diff
|
|
From c013821c0c9350b67d9f9a02848e1a7f87fa180b Mon Sep 17 00:00:00 2001
|
||
|
|
From: xujing <xujing125@huawei.com>
|
||
|
|
Date: Fri, 25 Nov 2022 17:04:11 +0800
|
||
|
|
Subject: [PATCH 2/5] Fix prog leak in parseScript
|
||
|
|
|
||
|
|
The "prog" will be alloced when using "-p" options, which cause src
|
||
|
|
"proc" leak. Add "origproc" to point to src "proc" to fix it.
|
||
|
|
---
|
||
|
|
build/parseScript.c | 3 +++
|
||
|
|
1 file changed, 3 insertions(+)
|
||
|
|
|
||
|
|
diff --git a/build/parseScript.c b/build/parseScript.c
|
||
|
|
index df7919238..f8b693ac6 100644
|
||
|
|
--- a/build/parseScript.c
|
||
|
|
+++ b/build/parseScript.c
|
||
|
|
@@ -102,6 +102,7 @@ int parseScript(rpmSpec spec, int parsePart)
|
||
|
|
poptContext optCon = NULL;
|
||
|
|
char *name = NULL;
|
||
|
|
char *prog = xstrdup("/bin/sh");
|
||
|
|
+ char *origprog = prog;
|
||
|
|
char *file = NULL;
|
||
|
|
int priority = 1000000;
|
||
|
|
struct poptOption optionsTable[] = {
|
||
|
|
@@ -482,6 +483,8 @@ exit:
|
||
|
|
free(reqargs);
|
||
|
|
freeStringBuf(sb);
|
||
|
|
free(progArgv);
|
||
|
|
+ if (origprog != prog)
|
||
|
|
+ free(origprog);
|
||
|
|
free(prog);
|
||
|
|
free(name);
|
||
|
|
free(file);
|
||
|
|
--
|
||
|
|
2.27.0
|
||
|
|
|