Hi list, After testing on amd64 and i386 I found a segmentation fault in the_silver_searcher and wrote a patch for it: With the patch I did not have any segmentation faults or problems with the port so far on the architectures amd64 and i386.
I will of course send the patch upstream, but I'd like to know if you have anything to say about the patch. Regards, Florian
the_silver_searcher.tar.gz
Description: application/tar-gz
--- src/scandir.c +++ src/scandir.c @@ -44,12 +44,16 @@ int ag_scandir(const char *dirname, */ d = malloc(sizeof(struct dirent) + strlen(entry->d_name) + 1); #else - d = malloc(sizeof(struct dirent)); + d = malloc(entry->d_reclen); #endif if (d == NULL) { goto fail; } - memcpy(d, entry, sizeof(struct dirent)); + /* Use d_reclen instead of calculating the size with sizeof. This + * avoids reading beyound the internal buffer of dirp on some + * implementations like OpenBSD's. + */ + memcpy(d, entry, entry->d_reclen); #if defined (__SVR4) && defined (__sun) strcpy(d->d_name, entry->d_name); #endif
pgpniaODway2z.pgp
Description: PGP signature