[IRCServices] ircservices-5.0.57 convert-db utility crashes when
converting from anope db.
Andrew Church
achurch at achurch.org
Tue Jun 20 02:06:52 PDT 2006
>sheik@***** [~/services2/lib]# ./convert-db -v +anope /home/sheik/services
>Loading nick.db...
>Loading chan.db...
>Loading oper.db...
>Loading exception.db...
>Loading news.db...
>Data files successfully loaded.
>Checking data integrity...
>Segmentation fault
Can you try applying the patch below and tell me if it solves your
problem?
--Andrew Church
achurch at achurch.org
http://achurch.org/
---------------------------------------------------------------------------
Index: tools/convert-db.c
===================================================================
RCS file: /var/local/cvsroot/ircservices/tools/convert-db.c,v
retrieving revision 2.30.2.6
diff -u -r2.30.2.6 convert-db.c
--- tools/convert-db.c 20 Jan 2006 08:33:59 -0000 2.30.2.6
+++ tools/convert-db.c 19 Jun 2006 17:03:51 -0000
@@ -591,10 +591,15 @@
/* Make sure all access entries have non-empty user and host parts. */
ARRAY_FOREACH (i, ngi->access) {
- s = strchr(ngi->access[i], '@');
- if (!s || s==ngi->access[i] || !s[1]) {
- fprintf(stderr, "Access entry %d for nickgroup %u isn't a"
- " valid user at host mask, deleting.\n", i, ngi->id);
+ if (!ngi->access[i]
+ || !(s = strchr(ngi->access[i], '@'))
+ || s == ngi->access[i]
+ || !s[1]
+ ) {
+ fprintf(stderr, "Access entry %d for nickgroup %u %s,"
+ " deleting.\n", i, ngi->id,
+ !ngi->access ? "is empty"
+ : "isn't a valid user at host mask");
ARRAY_REMOVE(ngi->access, i);
i--;
}