]> gitweb.ps.run Git - ps-cgit/blobdiff - shared.c
ui-blame: set repo for sb
[ps-cgit] / shared.c
index f7b64cf317ced6a7dd5ce33fce48e74c149c0e5f..7560f5f3ea5dd7a0e56afd6c781963447d305960 100644 (file)
--- a/shared.c
+++ b/shared.c
@@ -161,7 +161,7 @@ static struct refinfo *cgit_mk_refinfo(const char *refname, const struct object_
 
        ref = xmalloc(sizeof (struct refinfo));
        ref->refname = xstrdup(refname);
-       ref->object = parse_object(oid);
+       ref->object = parse_object(the_repository, oid);
        switch (ref->object->type) {
        case OBJ_TAG:
                ref->tag = cgit_parse_tag((struct tag *)ref->object);
@@ -476,15 +476,16 @@ static int is_token_char(char c)
 static char *expand_macro(char *name, int maxlength)
 {
        char *value;
-       int len;
+       size_t len;
 
        len = 0;
        value = getenv(name);
        if (value) {
-               len = strlen(value);
+               len = strlen(value) + 1;
                if (len > maxlength)
                        len = maxlength;
-               strncpy(name, value, len);
+               strlcpy(name, value, len);
+               --len;
        }
        return name + len;
 }