Fix com_add segfault.
[paraslash.git] / aft.c
diff --git a/aft.c b/aft.c
index 82724c3..8473bc9 100644 (file)
--- a/aft.c
+++ b/aft.c
@@ -1402,7 +1402,7 @@ static int add_one_audio_file(const char *arg, const void *private_data)
        const struct private_add_data *pad = private_data;
        struct audio_format_info afhi, *afhi_ptr = NULL;
        struct osl_row *pb = NULL, *hs = NULL; /* path brother/hash sister */
        const struct private_add_data *pad = private_data;
        struct audio_format_info afhi, *afhi_ptr = NULL;
        struct osl_row *pb = NULL, *hs = NULL; /* path brother/hash sister */
-       struct osl_object map, obj, query, result;
+       struct osl_object map, obj = {.data = NULL}, query, result;
        char *path;
        HASH_TYPE hash[HASH_SIZE];
 
        char *path;
        HASH_TYPE hash[HASH_SIZE];
 
@@ -1477,7 +1477,7 @@ out_free:
        free(path);
        if (afhi_ptr)
                free(afhi_ptr->chunk_table);
        free(path);
        if (afhi_ptr)
                free(afhi_ptr->chunk_table);
-       return ret;
+       return 1; /* it's not an error if not all files could be added */
 }
 
 int com_add(int fd, int argc, char * const * const argv)
 }
 
 int com_add(int fd, int argc, char * const * const argv)