[gmx-developers] do_dssp git segfault bugfix

Carsten Kutzner ckutzne at gwdg.de
Thu Jun 18 14:31:36 CEST 2009


the recent (git-master) version of do_dssp segfaults
the first time a memory allocation is made after the
routine check_oo is called.

This is check_oo:

static void check_oo(t_atoms *atoms)
  char *OOO;

  int i;


  for(i=0; (i<atoms->nr); i++) {
    if (strcmp(*(atoms->atomname[i]),"OXT")==0)
    else if (strcmp(*(atoms->atomname[i]),"O1")==0)

The error might have been introduced by recently omitting the static
attribute to char *OOO, thus leaving &OOO undefined when
check_oo is left. A fix is to use


in the atomname= statements. What is unclear to me is
a) Why is only "OXT" and "O1" replaced by "O" and not e.g. "O2" also.
b) Why is atomname not simply char ** (thus leaving one unnecessary
    pointer layer away) instead of char *** ?

Thanks for clarifications,

Dr. Carsten Kutzner
Max Planck Institute for Biophysical Chemistry
Theoretical and Computational Biophysics
Am Fassberg 11, 37077 Goettingen, Germany
Tel. +49-551-2012313, Fax: +49-551-2012302

More information about the gromacs.org_gmx-developers mailing list