tag 562033 + pending thanks Dear maintainer,
I've prepared an NMU for xxkb (versioned as 1.11-2.1) and uploaded it to DELAYED/2. Please feel free to tell me if I should delay it longer. Regards. -- .''`. http://info.comodo.priv.at/ -- GPG Key IDs: 0x00F3CFE4, 0x8649AA06 : :' : Debian GNU/Linux user, admin, & developer - http://www.debian.org/ `. `' Member of VIBE!AT & SPI, fellow of Free Software Foundation Europe `- NP: Cat Stevens: Come On And Dance
diff -u xxkb-1.11/debian/changelog xxkb-1.11/debian/changelog --- xxkb-1.11/debian/changelog +++ xxkb-1.11/debian/changelog @@ -1,3 +1,11 @@ +xxkb (1.11-2.1) unstable; urgency=low + + * Non-maintainer upload. + * Fix "segfaults on startup": add patch from Sebastian Andrzej Siewior to + handle missing config file (closes: #562033). + + -- gregor herrmann <gre...@debian.org> Sun, 17 Jan 2010 23:45:28 +0100 + xxkb (1.11-2) unstable; urgency=low [ Artem Chuprina ] only in patch2: unchanged: --- xxkb-1.11.orig/resource.c +++ xxkb-1.11/resource.c @@ -558,9 +558,7 @@ char *homedir, *filename; char *str_list, *res_app_list, res_ctrls[256]; int i, j; -#ifndef XT_RESOURCE_SEARCH size_t len; -#endif /* * Init pixbuf engine @@ -587,7 +585,10 @@ } sprintf(filename, "%s/%s", APPDEFDIR, APPDEFFILE); #endif - db = XrmGetFileDatabase(filename); + if (filename) + db = XrmGetFileDatabase(filename); + else + db = NULL; if (db == NULL) { /* * this situation is not fatal if the user has all @@ -618,12 +619,30 @@ /* * merge settings */ - stat = XrmCombineFileDatabase(filename, &db, True); + if (filename) + stat = XrmCombineFileDatabase(filename, &db, True); + else + stat = NULL; if (stat == 0 && db == NULL) { /* failed */ warnx("Unable to find configuration data"); return 5; } + + if (!filename) { + /* + * In case the user did not have a config file we have to come + * up with one + */ + len = strlen(homedir) + 1 + strlen(USERDEFFILE); + filename = malloc(len + 1); + if (filename == NULL) { + warn(NULL); + XrmDestroyDatabase(db); + return 1; + } + sprintf(filename, "%s/%s", homedir, USERDEFFILE); + } /* * start with the conf object */
signature.asc
Description: Digital signature