Comment 0 for bug 1838710

Revision history for this message
chipschap (bobnewell) wrote :

When initially running audio-recorder I was getting segfaults. I rebuilt from latest source, ran with gdb and found in utility.c around line 1049

gint str_compare(const gchar *s1, const gchar *s2, gboolean case_insensitive) {
//rjn adds null checks
    if (*s1 == '\0' && *s2 == '\0') {
        // Equals
        return 0;

etc.

There is no check here for passing null pointers and somehow one got passed. So my temporary fix was this. I know it's not the right fix (s1 and s2 should be first tested outside of the if stmt) but it got around the problem.

gint str_compare(const gchar *s1, const gchar *s2, gboolean case_insensitive) {
    if (s1 && (*s1 == '\0') && s2 && (*s2 == '\0')) {
        // Equals
        return 0;

etc.

My environment is Arch Linux (Antergos flavor).