X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=aft.c;h=c4558f2040ac67e0a613177b786438a038f5bcc5;hp=acf751566c61d82e23cc34565c1189f2db147917;hb=6e0b28e02a1013c019a3225e922b71f913bfbae4;hpb=1a8e3628040a94a8c06027335962a6cb2f827a63 diff --git a/aft.c b/aft.c index acf75156..c4558f20 100644 --- a/aft.c +++ b/aft.c @@ -1876,8 +1876,10 @@ static int add_one_audio_file(const char *path, void *private_data) unsigned char hash[HASH_SIZE]; ret = guess_audio_format(path); - if (ret < 0 && !(pad->flags & ADD_FLAG_ALL)) + if (ret < 0 && !(pad->flags & ADD_FLAG_ALL)) { + ret = 0; goto out_free; + } query.data = (char *)path; query.size = strlen(path) + 1; ret = send_callback_request(path_brother_callback, &query, @@ -2546,8 +2548,10 @@ static void com_setatt_callback(int fd, const struct osl_object *query) break; p[len - 1] = '\0'; ret = get_attribute_bitnum_by_name(p, &bitnum); - if (ret < 0) + if (ret < 0) { + para_printf(&cad.pb, "attribute not found: %s\n", p); goto out; + } if (c == '+') cad.add_mask |= (1UL << bitnum); else @@ -2557,7 +2561,8 @@ static void com_setatt_callback(int fd, const struct osl_object *query) if (!cad.add_mask && !cad.del_mask) goto out; pmd.patterns.data = p; - assert(p < (char *)query->data + query->size); + if (p >= (char *)query->data + query->size) + goto out; pmd.patterns.size = (char *)query->data + query->size - p; ret = for_each_matching_row(&pmd); if (ret < 0) @@ -2718,9 +2723,9 @@ static int aft_open(const char *dir) PARA_INFO_LOG("audio file table contains %d files\n", num); return ret; } - PARA_INFO_LOG("failed to open audio file table\n"); + PARA_NOTICE_LOG("failed to open audio file table\n"); audio_file_table = NULL; - if (ret >= 0 || ret == -OSL_ERRNO_TO_PARA_ERROR(E_OSL_NOENT)) + if (ret == -OSL_ERRNO_TO_PARA_ERROR(E_OSL_NOENT)) return 1; return ret; }