Package: cscope
Version: 15.5+cvs20050816-1
Severity: important
Tags: patch

Using current kbuild.git tree (or any -mm patch in 2.6.16-rc1 -maybe
earlier mm also-) I get a segfault in 'make cscope'.
I tracked this to be caused by:

        VPATH=/home/mattia/devel/kernel/git/linux-2.6: cscope -b

cscope dies because of the trailing ':' in:
        (gdb) bt
        #0  0xb7e45cd3 in strlen () from /lib/tls/libc.so.6
        #1  0x0805be0c in vpinit (current_dir=0x80a6460 
"/home/mattia/devel/kernel/git/linux-2.6") at vpinit.c:126
        #2  0x0805267e in makevpsrcdirs () at dir.c:98
        #3  0x080533a1 in makefilelist () at dir.c:276
        #4  0x0805a70b in main (argc=0, argv=0xbffb6148) at main.c:538

the attached patch fixes the segfault.

-- System Information:
Debian Release: testing/unstable
  APT prefers testing
  APT policy: (990, 'testing'), (300, 'unstable')
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.16-rc2-mm1-3
Locale: LANG=en_GB, LC_CTYPE=en_GB (charmap=ISO-8859-1)

Versions of packages cscope depends on:
ii  libc6                         2.3.5-13   GNU C Library: Shared libraries an
ii  libncurses5                   5.5-1      Shared libraries for terminal hand

cscope recommends no packages.

-- no debconf information
-- 
mattia
:wq!
--- src/vpinit.c.clean  2006-02-19 12:05:46.614956144 +0100
+++ src/vpinit.c        2006-02-19 12:05:53.376928967 +0100
@@ -99,7 +99,7 @@
        /* count the nodes in the view path */
        vpndirs = 1;
        for (i = 0; vpath[i] != '\0'; ++i) {
-               if (vpath[i] == ':') {
+               if (vpath[i] == ':' && vpath[i+1]) {
                        ++vpndirs;
                }
        }

Attachment: signature.asc
Description: Digital signature

Reply via email to