shadowsocksr-libev: fix build error by correctly allocating memory for 'protocol'

Signed-off-by: sbwml <admin@cooluc.com>
This commit is contained in:
sbwml 2025-01-06 23:02:21 +08:00
parent 5aa3db5849
commit a099b168eb
3 changed files with 2 additions and 33 deletions

View File

@ -1,16 +0,0 @@
--- a/server/server.c
+++ b/server/server.c
@@ -1942,12 +1942,12 @@
text = (char*)malloc(strlen(protocol) - 11);
memcpy(text, protocol, strlen(protocol) - 11);
int length = strlen(protocol) - 11;
- free(protocol);
obfs = (char*)malloc(length);
memset(protocol, 0x00, length);
memcpy(protocol, text, length);
LOGI("protocol compatible enable, %s", protocol);
free(text);
+ free(protocol);
protocol_compatible = 1;
}
}

View File

@ -14,8 +14,6 @@ Signed-off-by: sbwml <984419930@qq.com>
delete mode 100644 m4/pcre.m4 delete mode 100644 m4/pcre.m4
create mode 100644 m4/pcre2.m4 create mode 100644 m4/pcre2.m4
diff --git a/configure.ac b/configure.ac
index f9c51ab..0513db0 100755
--- a/configure.ac --- a/configure.ac
+++ b/configure.ac +++ b/configure.ac
@@ -20,10 +20,10 @@ AC_DISABLE_STATIC @@ -20,10 +20,10 @@ AC_DISABLE_STATIC
@ -33,9 +31,6 @@ index f9c51ab..0513db0 100755
fi fi
dnl Checks for using shared libraries from system dnl Checks for using shared libraries from system
diff --git a/m4/pcre.m4 b/m4/pcre.m4
deleted file mode 100644
index 4d965bc..0000000
--- a/m4/pcre.m4 --- a/m4/pcre.m4
+++ /dev/null +++ /dev/null
@@ -1,152 +0,0 @@ @@ -1,152 +0,0 @@
@ -191,9 +186,6 @@ index 4d965bc..0000000
-AC_SUBST(pcreh) -AC_SUBST(pcreh)
-AC_SUBST(pcre_pcreh) -AC_SUBST(pcre_pcreh)
-]) -])
diff --git a/m4/pcre2.m4 b/m4/pcre2.m4
new file mode 100644
index 0000000..fcec4b7
--- /dev/null --- /dev/null
+++ b/m4/pcre2.m4 +++ b/m4/pcre2.m4
@@ -0,0 +1,181 @@ @@ -0,0 +1,181 @@
@ -378,8 +370,6 @@ index 0000000..fcec4b7
+AC_SUBST(pcre2h) +AC_SUBST(pcre2h)
+AC_SUBST(pcre2_pcre2h) +AC_SUBST(pcre2_pcre2h)
+]) +])
diff --git a/src/rule.c b/src/rule.c
index 8aae04e..41ba5e7 100644
--- a/src/rule.c --- a/src/rule.c
+++ b/src/rule.c +++ b/src/rule.c
@@ -82,14 +82,28 @@ int @@ -82,14 +82,28 @@ int
@ -417,7 +407,7 @@ index 8aae04e..41ba5e7 100644
return 0; return 0;
} }
} }
@@ -109,8 +123,15 @@ lookup_rule(const struct cork_dllist *rules, const char *name, size_t name_len) @@ -109,8 +123,15 @@ lookup_rule(const struct cork_dllist *ru
cork_dllist_foreach_void(rules, curr, next) { cork_dllist_foreach_void(rules, curr, next) {
rule_t *rule = cork_container_of(curr, rule_t, entries); rule_t *rule = cork_container_of(curr, rule_t, entries);
@ -451,8 +441,6 @@ index 8aae04e..41ba5e7 100644
+ } + }
ss_free(rule); ss_free(rule);
} }
diff --git a/src/rule.h b/src/rule.h
index 015bc42..84a89af 100644
--- a/src/rule.h --- a/src/rule.h
+++ b/src/rule.h +++ b/src/rule.h
@@ -33,17 +33,27 @@ @@ -33,17 +33,27 @@
@ -489,6 +477,3 @@ index 015bc42..84a89af 100644
struct cork_dllist_item entries; struct cork_dllist_item entries;
} rule_t; } rule_t;
--
2.42.0

View File

@ -1943,7 +1943,7 @@ main(int argc, char **argv)
memcpy(text, protocol, strlen(protocol) - 11); memcpy(text, protocol, strlen(protocol) - 11);
int length = strlen(protocol) - 11; int length = strlen(protocol) - 11;
free(protocol); free(protocol);
obfs = (char*)malloc(length); protocol = (char*)malloc(length);
memset(protocol, 0x00, length); memset(protocol, 0x00, length);
memcpy(protocol, text, length); memcpy(protocol, text, length);
LOGI("protocol compatible enable, %s", protocol); LOGI("protocol compatible enable, %s", protocol);