From mboxrd@z Thu Jan 1 00:00:00 1970 From: Per Cederqvist Subject: "git branch HEAD" dumps core when on detached head (NULL pointer dereference) Date: Thu, 21 Feb 2013 13:27:25 +0100 Message-ID: <512612AD.4000609@opera.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit To: git@vger.kernel.org X-From: git-owner@vger.kernel.org Thu Feb 21 13:27:56 2013 Return-path: Envelope-to: gcvg-git-2@plane.gmane.org Received: from vger.kernel.org ([209.132.180.67]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1U8VFi-0001Mc-Bt for gcvg-git-2@plane.gmane.org; Thu, 21 Feb 2013 13:27:54 +0100 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752890Ab3BUM1a (ORCPT ); Thu, 21 Feb 2013 07:27:30 -0500 Received: from smtp.opera.com ([213.236.208.81]:35701 "EHLO smtp.opera.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752313Ab3BUM13 (ORCPT ); Thu, 21 Feb 2013 07:27:29 -0500 Received: from [10.30.2.116] (oslo.jvpn.opera.com [213.236.208.46]) (authenticated bits=0) by smtp.opera.com (8.14.3/8.14.3/Debian-5+lenny1) with ESMTP id r1LCRQJa003404 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Thu, 21 Feb 2013 12:27:27 GMT User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130106 Thunderbird/17.0.2 Sender: git-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org Archived-At: Running "git branch HEAD" may be a stupid thing to do. It actually was a mistake on my part. Still, I don't think git should dereference a NULL pointer. Tested using git 1.8.1.4 adn 1.8.1.1. Repeat by: mkdir branchcrash || exit 1 cd branchcrash git init touch a; git add a; git commit -m"Added a". touch b; git add b; git commit -m"Added b". git checkout HEAD^ git branch HEAD The last command dumps core. gdb session: gdb /usr/local/bin/git core GNU gdb (Ubuntu/Linaro 7.4-2012.04-0ubuntu2.1) 7.4-2012.04 Copyright (C) 2012 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-linux-gnu". For bug reporting instructions, please see: ... Reading symbols from /usr/local/bin/git...done. [New LWP 7174] warning: Can't read pathname for load map: Input/output error. [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". Core was generated by `git branch HEAD'. Program terminated with signal 11, Segmentation fault. #0 cmd_branch (argc=1, argv=0x7fffe6e2a0f0, prefix=) at builtin/branch.c:919 919 strbuf_addf(&buf, "refs/remotes/%s", branch->name); (gdb) bt #0 cmd_branch (argc=1, argv=0x7fffe6e2a0f0, prefix=) at builtin/branch.c:919 #1 0x00000000004046ac in run_builtin (argv=0x7fffe6e2a0f0, argc=2, p=) at git.c:273 #2 handle_internal_command (argc=2, argv=0x7fffe6e2a0f0) at git.c:434 #3 0x0000000000404df3 in run_argv (argv=0x7fffe6e29f90, argcp=0x7fffe6e29f9c) at git.c:480 #4 main (argc=2, argv=0x7fffe6e2a0f0) at git.c:555 (gdb) p branch $1 = (struct branch *) 0x0 (gdb) quit /ceder