name-ref on annotated-tags is null terminated, but lightweight tags arent

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Thank you for filling out a Git bug report!
Please answer the following questions to help us understand your issue.

What did you do before the bug happened? (Steps to reproduce your issue)
I was using name-rev to resolve a commits tag name. Annotated tags seem
to have a null termination and lightweight tags dont.
```
/tmp
❯ git clone https://github.com/maxres-fr/null-termination-issue.git
Cloning into 'null-termination-issue'...
remote: Enumerating objects: 10, done.
remote: Counting objects: 100% (10/10), done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 10 (delta 0), reused 10 (delta 0), pack-reused 0
Unpacking objects: 100% (10/10), 757 bytes | 189.00 KiB/s, done.

/tmp
❯ cd null-termination-issue

/tmp/null-termination-issue on  master
❯ git pull --tags
Already up to date.

/tmp/null-termination-issue on  master
❯ git tag --list

/tmp/null-termination-issue on  master
❯ git name-rev --tag --name-only
38bdebc9107cab4ab3718d0581632702e74d9209
annotated-tag^0

/tmp/null-termination-issue on  master
❯ git name-rev --tag --name-only
a340894d3ee655ae6c336a85b42d2215d52609e3
lightweight-tag
```

What did you expect to happen? (Expected behavior)

`git name-rev --tag --name-only ANNOTATED-COMMIT-ID` to return the name
without null termination

What happened instead? (Actual behavior)

`git name-rev --tag --name-only ANNOTATED-COMMIT-ID` returns the name
but it's null terminated

What's different between what you expected and what actually happened?

a null control character exists.

Anything else you want to add:

I tried this with the following git versions:

2.11, 2.23, 2.26, 2.27. I've also been able to reproduce on MacOS.

Please review the rest of the bug report below.
You can delete any lines you don't wish to share.

[System Info]
git version:
git version 2.27.0.rc0
cpu: x86_64
no commit associated with this build
sizeof-long: 8
sizeof-size_t: 8
uname: Linux 5.6.0-1-amd64 #1 SMP Debian 5.6.7-1 (2020-04-29) x86_64
compiler info: gnuc: 9.3
libc info: glibc: 2.30


[Enabled Hooks]




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux