Rather than carefully allocating memory for sprintf() to write into,
let's make use of the glib helper function g_strdup_printf(), which
makes things a lot easier and less error-prone.

Signed-off-by: Brandon Casey <draf...@gmail.com>
---
 .../gnome-keyring/git-credential-gnome-keyring.c           | 14 +++-----------
 1 file changed, 3 insertions(+), 11 deletions(-)

diff --git a/contrib/credential/gnome-keyring/git-credential-gnome-keyring.c 
b/contrib/credential/gnome-keyring/git-credential-gnome-keyring.c
index 8ae2eab..7565765 100644
--- a/contrib/credential/gnome-keyring/git-credential-gnome-keyring.c
+++ b/contrib/credential/gnome-keyring/git-credential-gnome-keyring.c
@@ -112,21 +112,13 @@ static inline char *xstrdup(const char *str)
 /* create a special keyring option string, if path is given */
 static char* keyring_object(struct credential *c)
 {
-       char* object = NULL;
-
        if (!c->path)
-               return object;
-
-       object = (char*) malloc(strlen(c->host)+strlen(c->path)+8);
-       if(!object)
-               die_errno(errno);
+               return NULL;
 
        if(c->port)
-               sprintf(object,"%s:%hd/%s",c->host,c->port,c->path);
-       else
-               sprintf(object,"%s/%s",c->host,c->path);
+               return g_strdup_printf("%s:%hd/%s", c->host, c->port, c->path);
 
-       return object;
+       return g_strdup_printf("%s/%s", c->host, c->path);
 }
 
 static int keyring_get(struct credential *c)
-- 
1.8.4.489.g545bc72

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to