X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=aft.c;h=ddb2244a550fa7ea1f1c5ddf327efe4fd3c58c05;hp=a73537c74446b3cdb49e405f7918701d837a8e8f;hb=8fab57e794b36a0d964691acb0631e5d7de85c98;hpb=36feca1700d044452991cfb506fb803ac3c32e60 diff --git a/aft.c b/aft.c index a73537c7..ddb2244a 100644 --- a/aft.c +++ b/aft.c @@ -693,16 +693,13 @@ err: int load_afd(int shmid, struct audio_file_data *afd) { void *shm_afd; - char *buf; int ret; ret = shm_attach(shmid, ATTACH_RO, &shm_afd); if (ret < 0) return ret; *afd = *(struct audio_file_data *)shm_afd; - buf = shm_afd; - buf += sizeof(*afd); - load_chunk_table(&afd->afhi, buf); + load_chunk_table(&afd->afhi, shm_afd + sizeof(*afd)); shm_detach(shm_afd); return 1; } @@ -1125,13 +1122,13 @@ int open_and_update_audio_file(struct osl_row *aft_row, long score, return ret; ret = mmap_full_file(path, O_RDONLY, &map.data, &map.size, &afd->fd); if (ret < 0) - goto err; + goto out; hash_function(map.data, map.size, file_hash); ret = hash_compare(file_hash, aft_hash); para_munmap(map.data, map.size); if (ret) { ret = -E_HASH_MISMATCH; - goto err; + goto out; } new_afsi = old_afsi; new_afsi.num_played++; @@ -1142,12 +1139,12 @@ int open_and_update_audio_file(struct osl_row *aft_row, long score, load_chunk_table(&afd->afhi, chunk_table_obj.data); ret = make_status_items(afd, &old_afsi, path, score, file_hash); if (ret < 0) - goto err; + goto out; aced.aft_row = aft_row; aced.old_afsi = &old_afsi; afs_event(AFSI_CHANGE, NULL, &aced); ret = save_afd(afd); -err: +out: free(afd->afhi.chunk_table); osl_close_disk_object(&chunk_table_obj); if (ret < 0)