[Spice-devel] [PATCH spice-common 1/2] Use a single copy of subject string
Frediano Ziglio
fziglio at redhat.com
Thu Dec 13 14:20:24 UTC 2018
A full copy can keep both the key and the value instead of
allocating twice the memory.
Also this remove a warning produced by Coverity that is assuming
that allocating strlen(string_variable) is wrong.
Signed-off-by: Frediano Ziglio <fziglio at redhat.com>
---
common/ssl_verify.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/common/ssl_verify.c b/common/ssl_verify.c
index 0ac00a6..74f95bb 100644
--- a/common/ssl_verify.c
+++ b/common/ssl_verify.c
@@ -282,7 +282,7 @@ static X509_NAME* subject_to_x509_name(const char *subject, int *nentries)
{
X509_NAME* in_subject;
const char *p;
- char *key, *val, *k, *v = NULL;
+ char *key, *val = NULL, *k, *v = NULL;
enum {
KEY,
VALUE
@@ -291,11 +291,10 @@ static X509_NAME* subject_to_x509_name(const char *subject, int *nentries)
spice_return_val_if_fail(subject != NULL, NULL);
spice_return_val_if_fail(nentries != NULL, NULL);
- key = (char*)alloca(strlen(subject));
- val = (char*)alloca(strlen(subject));
+ key = (char*)alloca(strlen(subject)+1);
in_subject = X509_NAME_new();
- if (!in_subject || !key || !val) {
+ if (!in_subject || !key) {
spice_debug("failed to allocate");
return NULL;
}
@@ -328,6 +327,7 @@ static X509_NAME* subject_to_x509_name(const char *subject, int *nentries)
} else if (*p == '=' && !escape) {
state = VALUE;
*k = 0;
+ val = k + 1;
v = val;
} else
*k++ = *p;
--
2.17.2
More information about the Spice-devel
mailing list