trset: prevent memory leak in re_read() for bad input - neatvi - [fork] simple … | |
git clone git://src.adamsgaard.dk/neatvi | |
Log | |
Files | |
Refs | |
README | |
--- | |
commit ad905f06084738d3f3a95f0775586ac515312a49 | |
parent fb7b24e9ad8c6d7a9b8a3c9d3e3091a4cd8b4fd4 | |
Author: Kyryl Melekhin <[email protected]> | |
Date: Sun, 26 Sep 2021 18:17:16 +0330 | |
rset: prevent memory leak in re_read() for bad input | |
Diffstat: | |
M rset.c | 3 ++- | |
1 file changed, 2 insertions(+), 1 deletion(-) | |
--- | |
diff --git a/rset.c b/rset.c | |
t@@ -130,11 +130,12 @@ void rset_free(struct rset *rs) | |
/* read a regular expression enclosed in a delimiter */ | |
char *re_read(char **src) | |
{ | |
- struct sbuf *sbuf = sbuf_make(); | |
+ struct sbuf *sbuf; | |
char *s = *src; | |
int delim = (unsigned char) *s++; | |
if (!delim) | |
return NULL; | |
+ sbuf = sbuf_make(); | |
while (*s && *s != delim) { | |
if (s[0] == '\\' && s[1]) | |
if (*(++s) != delim) |