From: Andre Noll <maan@systemlinux.org>
Date: Sun, 27 Oct 2013 10:24:43 +0000 (+0100)
Subject: afh: Unmap the audio file on errors.
X-Git-Tag: v0.5.4~1^2~7
X-Git-Url: https://git.tue.mpg.de/?a=commitdiff_plain;h=6761a4b76e3e7534ead2021cee9bab41716d4488;p=paraslash.git

afh: Unmap the audio file on errors.

If compute_afhi() returns negative we miss to call para_munmap()
to unmap the audio file. This is not a serious bug since we exit
anyway in this case.
---

diff --git a/afh.c b/afh.c
index d06e4420..49629cb1 100644
--- a/afh.c
+++ b/afh.c
@@ -102,16 +102,15 @@ int main(int argc, char **argv)
 		}
 		ret = compute_afhi(conf.inputs[i], audio_file_data, audio_file_size,
 			fd, &afhi);
-		if (ret < 0)
-			goto out;
-
-		audio_format_num = ret;
-		printf("File %d: %s\n", i + 1, conf.inputs[i]);
-		print_info(audio_format_num, &afhi);
-		if (conf.chunk_table_given)
-			print_chunk_table(&afhi);
-		printf("\n");
-		clear_afhi(&afhi);
+		if (ret >= 0) {
+			audio_format_num = ret;
+			printf("File %d: %s\n", i + 1, conf.inputs[i]);
+			print_info(audio_format_num, &afhi);
+			if (conf.chunk_table_given)
+				print_chunk_table(&afhi);
+			printf("\n");
+			clear_afhi(&afhi);
+		}
 		ret2 = para_munmap(audio_file_data, audio_file_size);
 		if (ret2 < 0 && ret >= 0)
 			ret = ret2;