X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=http-push.c;h=2d9441ec60222be6806eddbd5e515b2233a4f06d;hb=bfbd0bb6ecbbbf75a5caaff6afaf5a6af8fa518e;hp=b39b36b7679d5c5d928d711895ccfc5f66c353d4;hpb=5996ca0836e21ab4e6be0a16a615eff965f18b8b;p=git.git diff --git a/http-push.c b/http-push.c index b39b36b7..2d9441ec 100644 --- a/http-push.c +++ b/http-push.c @@ -1269,8 +1269,8 @@ xml_cdata(void *userData, const XML_Char *s, int len) struct xml_ctx *ctx = (struct xml_ctx *)userData; if (ctx->cdata) free(ctx->cdata); - ctx->cdata = xcalloc(len+1, 1); - strncpy(ctx->cdata, s, len); + ctx->cdata = xmalloc(len + 1); + safe_strncpy(ctx->cdata, s, len + 1); } static struct remote_lock *lock_remote(char *path, long timeout) @@ -1472,7 +1472,7 @@ static void process_ls_object(struct remote_ls_ctx *ls) return; path += 8; obj_hex = xmalloc(strlen(path)); - strncpy(obj_hex, path, 2); + safe_strncpy(obj_hex, path, 3); strcpy(obj_hex + 2, path + 3); one_remote_object(obj_hex); free(obj_hex); @@ -2160,8 +2160,8 @@ static void fetch_symref(char *path, char **symref, unsigned char *sha1) /* If it's a symref, set the refname; otherwise try for a sha1 */ if (!strncmp((char *)buffer.buffer, "ref: ", 5)) { - *symref = xcalloc(buffer.posn - 5, 1); - strncpy(*symref, (char *)buffer.buffer + 5, buffer.posn - 6); + *symref = xmalloc(buffer.posn - 5); + safe_strncpy(*symref, (char *)buffer.buffer + 5, buffer.posn - 5); } else { get_sha1_hex(buffer.buffer, sha1); }