Hello Fabrizio I just checked the DirList() and it works just fine. Thanks a lot, Wilko On Thu, 13 Jan 2005, Fabrizio Furano wrote: > Hi Wilko, > > you are perfectly right, and the info you sent were absolutely complete. > > Fortunately that string class does index checkings, otherwise we could > have ugly behaviors instead of an abort(). > > I just fixed the bug, let me know. > > Fabrizio > > Wilko Kroeger wrote: > > Hello Fabrizio > > > > We found that a core is produced if the function > > XrdClientAdmin_c::XrdDirList(const char *dir) > > is called and the directory for which we want to get the > > listing is empty. > > > > In this case the call to > > adminst->DirList(dir, entries) in XrdClientAdmin_c::XrdDirList > > returns an empty vector (entries) and the call > > joinStrings(lst, entries); > > crashes because joinStrings can not handle > > an empty vector. At least that's what it looks to me. > > > > > > The test program that I run is: > > > > #include "XrdClient/XrdClient.hh" > > #include "XrdClient/XrdClientAdmin_c.hh" > > #include <iostream> > > > > int main(int argc, char **argv) { > > XrdInitialize(argv[1], 2); > > char *strans; > > strans = XrdDirList("/prod/s1/s2/s3/s5"); > > cout << "answer : " << strans endl; > > XrdTerminate(); > > } > > > > and the core is: > > > > (gdb) where > > #0 0x005cbcdf in raise () from /lib/tls/libc.so.6 > > #1 0x005cd4e5 in abort () from /lib/tls/libc.so.6 > > #2 0x0804d15e in XrdClientString::At(int) (this=0xbfff9af0, pos=-1) > > at XrdClientString.hh:103 > > #3 0x0804cfab in XrdClientString::operator[](int) (this=0xbfff9af0, pos=-1) > > at XrdClientString.hh:213 > > #4 0x0804de78 in joinStrings(XrdClientString&, XrdClientVector<XrdClientString>) > > (buf=@0xbfff9af0, vs={data = 0x0, size = 0, capacity = 0}) > > at XrdClientAdmin.cc:46 > > #5 0x0804c601 in XrdDirList (dir=0x8071228 "/prod/s1/s2/s3/s5") > > at XrdClientAdmin_c.cc:230 > > #6 0x0804b9c1 in main (argc=2, argv=0xbfff9bd4) at TestXrdClient.cc:26 > > > > > > > > The xrootd version is 20041220-1337. > > > > Thanks, > > Wilko >