/
flac-1.3.x-dec.log
1054 lines (749 loc) · 41.5 KB
/
flac-1.3.x-dec.log
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
--------------------------------------------------------------------------------
From: Hakan Kvist <hakan.kvist@sony.com>
Date: Tue, 22 Oct 2019 18:44:58 +0000 (+0200)
Subject: libFLAC/stream_decoder.c: fix integer overflow on corrupt file
X-Git-Url: http://git.xiph.org/?p=flac.git;a=commitdiff_plain;h=b84ff55b032def9e38277f5efd249f4930a3dae1
libFLAC/stream_decoder.c: fix integer overflow on corrupt file
Corrupt metadata could make the length calculation overflow.
--------------------------------------------------------------------------------
From: Erik de Castro Lopo <erikd@mega-nerd.com>
Date: Mon, 7 Oct 2019 01:55:58 +0000 (+1100)
Subject: libFLAC/bitreader.c: Fix out-of-bounds read
X-Git-Url: http://git.xiph.org/?p=flac.git;a=commitdiff_plain;h=2e7931c27eb15e387da440a37f12437e35b22dd4
libFLAC/bitreader.c: Fix out-of-bounds read
Credit: Oss-Fuzz
Issue: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=17069
Testcase: fuzzer_decoder-5670265022840832
--------------------------------------------------------------------------------
From: Erik de Castro Lopo <erikd@mega-nerd.com>
Date: Sun, 25 Aug 2019 07:59:02 +0000 (+1000)
Subject: libFLAC/lpc.c: Fix signed integer overflow
X-Git-Url: http://git.xiph.org/?p=flac.git;a=commitdiff_plain;h=5598543a9663a846a0b7e42f395207bc44381e41
libFLAC/lpc.c: Fix signed integer overflow
Do the addition as 64 bits before truncating to 32 bits.
Credit: Oss-Fuzz
Issue: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=16459
Testcase: fuzzer_decoder-5728784602365952
--------------------------------------------------------------------------------
From: Erik de Castro Lopo <erikd@mega-nerd.com>
Date: Sun, 25 Aug 2019 07:24:47 +0000 (+1000)
Subject: libFLAC/bitreader.c: Fix shift invoking undefined behaviour
X-Git-Url: http://git.xiph.org/?p=flac.git;a=commitdiff_plain;h=09f47c00e18a77390acfc2e725564542756effaf
libFLAC/bitreader.c: Fix shift invoking undefined behaviour
Credit: Oss-Fuzz
Issue: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=16458
Testcase: fuzzer_decoder-5649174900506624
--------------------------------------------------------------------------------
From: sezero <sezero@users.sourceforge.net>
Date: Sun, 4 Aug 2019 23:00:40 +0000 (+0300)
Subject: Do not assume that sys/param.h defines MIN and MAX
X-Git-Url: http://git.xiph.org/?p=flac.git;a=commitdiff_plain;h=4a43f2bd4d7e12b5d994f48e18cf014008d204ce
Do not assume that sys/param.h defines MIN and MAX
One such example is sys/param.h from MinGW.
--------------------------------------------------------------------------------
From: Erik de Castro Lopo <erikd@mega-nerd.com>
Date: Wed, 19 Apr 2017 08:14:26 +0000 (+1000)
Subject: libFLAC: Fix default flac_max/min
X-Git-Url: http://git.xiph.org/?p=flac.git;a=commitdiff_plain;h=64f47c2d71ffba5aa8cd1d2a447339fd95f362f9
libFLAC: Fix default flac_max/min
There were a number of specialized versions, but the default case
defined `MAX` and `MIN` instead of `flac_max` and `flac_min`.
--------------------------------------------------------------------------------
From: Erik de Castro Lopo <erikd@mega-nerd.com>
Date: Mon, 20 Mar 2017 18:39:26 +0000 (+1100)
Subject: Fix typos in header files
X-Git-Url: http://git.xiph.org/?p=flac.git;a=commitdiff_plain;h=25b2d82fe4982edbcb54913f4f5db0a1ae9c726d
Fix typos in header files
Patch-from: lvqcl <lvqcl.mail@gmail.com>
--------------------------------------------------------------------------------
From: Keegan Drake H.P <kdhp@users.noreply.github.com>
Date: Wed, 15 Mar 2017 23:20:14 +0000 (-0500)
Subject: stream_decoder.h: Fix Reference to Non-Existent Functions
X-Git-Url: http://git.xiph.org/?p=flac.git;a=commitdiff_plain;h=5121d22e80cc53f04e0116c2f31d25444680cbd5
stream_decoder.h: Fix Reference to Non-Existent Functions
Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
Closes: https://github.com/xiph/flac/pull/31
--------------------------------------------------------------------------------
From: Keegan Drake H.P <kdhp@users.noreply.github.com>
Date: Wed, 15 Mar 2017 23:15:07 +0000 (-0500)
Subject: stream_decoder.h: Fix References to ``stdout''
X-Git-Url: http://git.xiph.org/?p=flac.git;a=commitdiff_plain;h=d249bce935774b7d7820a6eb1dbde8fb55bc3331
stream_decoder.h: Fix References to ``stdout''
Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
--------------------------------------------------------------------------------
From f7f216472597f4512c0e18a4bae353ae89a3bc11 Mon Sep 17 00:00:00 2001
From: Erik de Castro Lopo <erikd@mega-nerd.com>
Date: Thu, 2 Mar 2017 06:40:25 +1100
Subject: [PATCH] cpu.c: Fix LLVM compile
Switch from `asm` to `__asm__` which is better supported.
Patch-from: Olivier Tristan <o.tristan@uvi.net>
--------------------------------------------------------------------------------
From: Rosen Penev <rosenp@gmail.com>
Date: Thu, 9 Feb 2017 03:42:42 +0000 (-0800)
Subject: Fix compile with cygwin
X-Git-Url: http://git.xiph.org/?p=flac.git;a=commitdiff_plain;h=c669249e4c3b23e3a3bb41223035cc41a0e75508
Fix compile with cygwin
The underscores are wrong. The comment is also correct.
Also remove the configure.ac option. Otherwise it tries to compile the
windows unicode stuff which POSIX(cygwin) does not understand.
Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
--------------------------------------------------------------------------------
From: Erik de Castro Lopo <erikd@mega-nerd.com>
Date: Mon, 23 Jan 2017 19:20:03 +0000 (+1100)
Subject: include/share/compat.h: Only define inline for C
X-Git-Url: http://git.xiph.org/?p=flac.git;a=commitdiff_plain;h=33f093ae2f9d850dfa4dc3e7b60fba282731f894
include/share/compat.h: Only define inline for C
Patch-from: lvqcl <lvqcl.mail@gmail.com>
--------------------------------------------------------------------------------
From: Erik de Castro Lopo <erikd@mega-nerd.com>
Date: Sat, 8 Apr 2017 08:34:49 +0000 (+1000)
Subject: stream_decoder.c: Fix a memory leak
X-Git-Url: http://git.xiph.org/?p=flac.git;a=commitdiff_plain;h=4f47b63e9c971e6391590caf00a0f2a5ed612e67
stream_decoder.c: Fix a memory leak
Leak reported by Secunia Research.
--------------------------------------------------------------------------------
From: Erik de Castro Lopo <erikd@mega-nerd.com>
Date: Tue, 6 Dec 2016 08:44:37 +0000 (+1100)
Subject: libFLAC/metadata_object.c: Fix typo in number
X-Git-Url: http://git.xiph.org/?p=flac.git;a=commitdiff_plain;h=582f111a83fea2b77be6839d3b9275012683710f
libFLAC/metadata_object.c: Fix typo in number
As pointed out by Evan Ramos there was typo, `32786` instead of
`32768`.
--------------------------------------------------------------------------------
From: Max Kellermann <max@duempel.org>
Date: Thu, 14 Jul 2016 08:22:43 +0000 (+0200)
Subject: stream_decoder: reset has_seek_table before read_metadata_seektable_()
X-Git-Url: http://git.xiph.org/?p=flac.git;a=commitdiff_plain;h=a52177b0d1e79c5cc15ab7d3503bcd1bfb3fd54b
stream_decoder: reset has_seek_table before read_metadata_seektable_()
If a seek table has already been read successfully, then the
has_seek_table flag is true. Now imagine the file comes with another
seek table, which doesn't make sense, but libFLAC accepts it happily.
If reading this second seek table fails (for example allocation
failure), read_metadata_seektable_() returns false, but the
has_seek_table flag is still true. If the calling application happens
to ignore this failure, and at some point tries to seek, the process
will crash due to NULL pointer dereference. This would sure be an
application bug that needs to be fixed, but libFLAC's internal state
is inconsistent, so let's fix this up.
Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
--------------------------------------------------------------------------------
From: Max Kellermann <max@duempel.org>
Date: Thu, 14 Jul 2016 08:06:23 +0000 (+0200)
Subject: stream_decoder: fix memory leak after seek table read error
X-Git-Url: http://git.xiph.org/?p=flac.git;a=commitdiff_plain;h=f7491f9741a0fa2e623d321882b29a49c35596d8
stream_decoder: fix memory leak after seek table read error
When read_metadata_seektable_() fails, the has_seek_table flag is
never set to true, and thus free() is never called.
Example valgrind output:
11,185,464 bytes in 1 blocks are definitely lost in loss record 62 of 62
at 0x4C2BC0F: malloc (vg_replace_malloc.c:299)
by 0x4C2DE6F: realloc (vg_replace_malloc.c:785)
by 0x40A7880: safe_realloc_ (alloc.h:159)
by 0x40A7911: safe_realloc_mul_2op_ (alloc.h:205)
by 0x40AB6B5: read_metadata_seektable_ (stream_decoder.c:1654)
by 0x40AAB2D: read_metadata_ (stream_decoder.c:1422)
by 0x40A9C79: FLAC__stream_decoder_process_until_end_of_metadata (stream_decoder.c:1055)
It is easy to craft a FLAC file which leaks megabytes of memory on
every attempt to open the file.
This patch fixes the problem by removing checks which are unnecessary
(and harmful). Checking the has_seek_table flag is not enough, as
described above. The NULL check is not harmful, but is not helpful
either, because free(NULL) is documented to be legal.
After running this code block, we're in a well-known safe state, no
matter how inconsistent pointer and flag may have been before, for
whatever reasons.
Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
--------------------------------------------------------------------------------
From: Erik de Castro Lopo <erikd@mega-nerd.com>
Date: Wed, 13 Jul 2016 09:45:53 +0000 (+1000)
Subject: libFLAC: Fix cpuid detecton on old Cyrix CPUs
X-Git-Url: http://git.xiph.org/?p=flac.git;a=commitdiff_plain;h=c12bfa0e723f5483cb74c10a3422423b3ceb405f
libFLAC: Fix cpuid detecton on old Cyrix CPUs
Some old CPUs (eg Cyrix) set EDX but not ECX when executing CPUID.
One of the solutions is to clear ECX before calling cpuid. From
https://bugzilla.mozilla.org/show_bug.cgi?id=1096651#c9 bug
Patch-from: lvqcl <lvqcl.mail@gmail.com>
--------------------------------------------------------------------------------
From: Erik de Castro Lopo <erikd@mega-nerd.com>
Date: Wed, 13 Jul 2016 09:41:14 +0000 (+1000)
Subject: libFLAC: Set decoding status if write callback failed
X-Git-Url: http://git.xiph.org/?p=flac.git;a=commitdiff_plain;h=74e751c421dfc578449906af3afa70489e5fb50b
libFLAC: Set decoding status if write callback failed
Previously, it the write callback failed the error status
would be set to `FLAC__STREAM_DECODER_READ_FRAME`. Now it
gets set to `FLAC__STREAM_DECODER_WRITE_STATUS_ABORT`.
Patch-from: lvqcl <lvqcl.mail@gmail.com>
--------------------------------------------------------------------------------
From: Max Kellermann <max@duempel.org>
Date: Fri, 8 Jul 2016 19:29:41 +0000 (+0200)
Subject: stream_decoder: fix integer underflow due to malformed wasted_bits
X-Git-Url: http://git.xiph.org/?p=flac.git;a=commitdiff_plain;h=9949ce15f66d1312e7f0692298cfe8087488330b
stream_decoder: fix integer underflow due to malformed wasted_bits
It is pretty easy for a malformed FLAC file to underflow the "bps"
variable. In the debug build, this results in an assertion failure in
FLAC__bitreader_read_raw_uint32():
FLAC__ASSERT(bits <= 32);
In non-debug builds, this simply makes
FLAC__bitreader_read_raw_uint32() fail because
bitreader_read_from_client_() doesn't find enough buffer space for
2**32-1 bits. But since the failing FLAC_ASSERT() is reasonable, this
should be caught in the FLAC__bitreader_read_raw_uint32() caller.
Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
Closes: https://github.com/xiph/flac/pull/13
--------------------------------------------------------------------------------
From: Max Kellermann <max@duempel.org>
Date: Wed, 6 Jul 2016 14:28:53 +0000 (+0200)
Subject: stream_decoder: check state==ABORTED after process_single() for seek
X-Git-Url: http://git.xiph.org/?p=flac.git;a=commitdiff_plain;h=0a49fe7788ecab32a1238ecd45308afbbb580bec
stream_decoder: check state==ABORTED after process_single() for seek
FLAC__stream_decoder_process_single() ignores frame_sync_() errors,
which means the caller cannot rely solely on the boolean return value,
it is also required to check the new "state".
After FLAC__stream_decoder_process_until_end_of_metadata(),
state==SEARCH_FOR_FRAME_SYNC and
last_frame.header.number_type==FRAME_NUMBER. When an application
seeks at this time, but an I/O error occurs, then
FLAC__stream_decoder_process_single() returns true, but no frame has
been read yet, i.e. last_frame.header.number_type is still
FRAME_NUMBER. This triggers the assertion in
seek_to_absolute_sample_():
FLAC__ASSERT(decoder->private_->last_frame.header.number_type == FLAC__FRAME_NUMBER_TYPE_SAMPLE_NUMBER);
So what needs to be done is check for state==ABORTED after the
FLAC__stream_decoder_process_single() call.
This bug can be triggered remotely with the Music Player Daemon
(https://www.musicpd.org/), and crashes the process.
Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
Closes: https://github.com/xiph/flac/pull/12
--------------------------------------------------------------------------------
From: Erik de Castro Lopo <erikd@mega-nerd.com>
Date: Mon, 13 Jun 2016 20:27:24 +0000 (+1000)
Subject: Fix nasm compile on OS X / Darwin
X-Git-Url: http://git.xiph.org/?p=flac.git;a=commitdiff_plain;h=e58b36c8ea4d45b6e3d4fb5e5df747e5f8b6c9d2
Fix nasm compile on OS X / Darwin
Apparently this had been fixes in Audacity and other projects
but no one had bothered to feed them back upstream. Thanks to
lvqcl for researching this and finding the relevant patches.
Thanks to Ozkan Sezer for validating them.
Closes: https://sourceforge.net/p/flac/bugs/438/
--------------------------------------------------------------------------------
From: Thomas Zander <thomas.e.zander@googlemail.com>
Date: Thu, 29 Oct 2015 13:32:03 +0000 (+0100)
Subject: Include proper headers for sysctlbyname() on Mac OS
X-Git-Url: http://git.xiph.org/?p=flac.git;a=commitdiff_plain;h=239843e5c173393fba04e2747326eec0eaf27e4a
Include proper headers for sysctlbyname() on Mac OS
According to Xcode documentation[1], sysctlbyname is available on
Mac OS via the same includes as on FreeBSD/DragonFly.
[1] https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man3/sysctlbyname.3.html
Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
--------------------------------------------------------------------------------
From: Erik de Castro Lopo <erikd@mega-nerd.com>
Date: Sun, 27 Jul 2014 11:24:27 +0000 (+1000)
Subject: libFLAC/bitreader.c : Remove redundant/incorrect comment.
X-Git-Tag: 1.3.1pre1~63
X-Git-Url: http://git.xiph.org/?p=flac.git;a=commitdiff_plain;h=8ce310dda2421ce9932969c4f038ac4f1d84c39f
libFLAC/bitreader.c : Remove redundant/incorrect comment.
This comment should have been removed in commit eb0c5a37.
Patch-from: lvqcl <lvqcl.mail@gmail.com>
--------------------------------------------------------------------------------
From eb0c5a3792bfbabf6de1c8be49280eec056bb5f1 Mon Sep 17 00:00:00 2001
From: Erik de Castro Lopo <erikd@mega-nerd.com>
Date: Sun, 6 Jul 2014 20:27:28 +1000
Subject: [PATCH] libFLAC : Remove
FLAC__bitreader_read_rice_signed_block_asm_ia32_bswap().
This function was un-used because it showed no speed improvement over the
C version. As a result the bitreader_read_from_client_() function can be
made static again.
Patch-from: lvqcl <lvqcl.mail@gmail.com>
---
src/libFLAC/Makefile.lite | 1 -
src/libFLAC/bitreader.c | 3 +-
src/libFLAC/ia32/Makefile.am | 1 -
src/libFLAC/ia32/bitreader_asm.nasm | 593 --------------------------------
src/libFLAC/include/private/bitreader.h | 9 -
src/libFLAC/libFLAC_dynamic.vcproj | 24 --
src/libFLAC/libFLAC_static.vcproj | 24 --
src/libFLAC/stream_decoder.c | 8 +-
8 files changed, 2 insertions(+), 661 deletions(-)
delete mode 100644 src/libFLAC/ia32/bitreader_asm.nasm
--------------------------------------------------------------------------------
From: Erik de Castro Lopo <erikd@mega-nerd.com>
Date: Sun, 6 Jul 2014 10:20:58 +0000 (+1000)
Subject: libFLAC : Remove FLAC__precompute_partition_info_sums_32bit_asm_ia32_().
X-Git-Tag: 1.3.1pre1~79
X-Git-Url: http://git.xiph.org/?p=flac.git;a=commitdiff_plain;h=c43691586ac9ec3dfe698984c64fe811fdbc3b0a
libFLAC : Remove FLAC__precompute_partition_info_sums_32bit_asm_ia32_().
This function offer no speed up from the C version of the function and were
commented out after the release of 1.3.0. We will now drop them completely.
Patch-from: lvqcl <lvqcl.mail@gmail.com>
--------------------------------------------------------------------------------
From: Erik de Castro Lopo <erikd@mega-nerd.com>
Date: Sun, 13 Jul 2014 11:19:48 +0000 (+1000)
Subject: Remove old/broken PPC/Altivec code.
X-Git-Tag: 1.3.1pre1~52
X-Git-Url: http://git.xiph.org/?p=flac.git;a=commitdiff_plain;h=b60f16bbc818729a0cf3b9c22cd6b24e7febd85b
Remove old/broken PPC/Altivec code.
* Removes FLAC__lpc_restore_signal_asm_ppc_altivec_16*
from lpc.h and stream_decoder.c
* Removes PPC-specific code from cpu.c and cpu.h
* Removes PPC stuff from libFLAC/Makefile.lite and build/*.mk
* Removes as/gas/PPC-specific stuff from configure.ac and
libFLAC/Makefile.am*
* Removes libFLAC/ppc folder and remove "src/libFLAC/ppc*/Makefile"
lines from configure.ac
Patch-from: lvqcl <lvqcl.mail@gmail.com>
--------------------------------------------------------------------------------
From: Gustavo Zacarias <gustavo@zacarias.com.ar>
Date: Wed, 4 Dec 2013 16:31:28 +0000 (-0300)
Subject: Fix Makefile.am altivec logic
X-Git-Tag: 1.3.1pre1~194
X-Git-Url: http://git.xiph.org/?p=flac.git;a=commitdiff_plain;h=d65ede3e874c79348efc85cf3a185c170046c4c8
Fix Makefile.am altivec logic
Besides SPE (FSL e500v? cores) there are other powerpc processors
that don't support altivec instructions so only enable them when it's
100% sure that the target has it.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
--------------------------------------------------------------------------------
From: Erik de Castro Lopo <erikd@mega-nerd.com>
Date: Mon, 14 Mar 2016 07:14:31 +0000 (+1100)
Subject: libFLAC/cpu.c: Use `sigemptyset` instead of `__sigemptyset`
X-Git-Url: http://git.xiph.org/?p=flac.git;a=commitdiff_plain;h=a9f84425cfd5d1dbfb564730ca80d0b588cb4f24
libFLAC/cpu.c: Use `sigemptyset` instead of `__sigemptyset`
The former is POSIX while the later is a GNU glibc-ism that does not
exist in (for example) the Musl C library that is used in OpenWrt.
Reported-by: <neheb@hushmail.com>
--------------------------------------------------------------------------------
From: Erik de Castro Lopo <erikd@mega-nerd.com>
Date: Sun, 20 Mar 2016 04:49:21 +0000 (+1100)
Subject: stream_decoder.c: Set obj->num_comments before return
X-Git-Url: http://git.xiph.org/?p=flac.git;a=commitdiff_plain;h=61607377ed7deba0f41c0d4cfa2e21b532c8d83c
stream_decoder.c: Set obj->num_comments before return
Make sure obj-num_comments gets set on failure conditions.
Patch-from: Robert Shih <robertshih@google.com>
--------------------------------------------------------------------------------
From: Erik de Castro Lopo <erikd@mega-nerd.com>
Date: Fri, 28 Aug 2015 19:21:43 +0000 (+1000)
Subject: libFLAC/fixed.c: Fix undefined behaviour
X-Git-Url: http://git.xiph.org/?p=flac.git;a=commitdiff_plain;h=1b8af6bb45a9ad74fa374fb6414974e63ffc793b
libFLAC/fixed.c: Fix undefined behaviour
Left shift if a negative integer such that the sign bit is affected is
(according to the C spec) undefined behaviour and the residual
calculations using the shift operator were hitting this.
Fortunately these same calculations using plain multiplication do not
invoke UB and according to benchmarking (on x86_64 linux) have the same
performance as the bit shift version.
--------------------------------------------------------------------------------
From: Erik de Castro Lopo <erikd@mega-nerd.com>
Date: Wed, 26 Aug 2015 07:13:39 +0000 (+1000)
Subject: libFLAC/format.c: Fix undefined behaviour
X-Git-Url: http://git.xiph.org/?p=flac.git;a=commitdiff_plain;h=a14581642c9e7dcee15d05bde9fd0a6a47350dcc
libFLAC/format.c: Fix undefined behaviour
In the case where seek_table->num_points is zero, seek_table->points
will be NULL and passing that to qsort() invokes undefined behaviour.
Since seek_table->num_points is zero, the only sensible thing to do
is to short circuit return 0.
--------------------------------------------------------------------------------
From: Erik de Castro Lopo <erikd@mega-nerd.com>
Date: Mon, 24 Aug 2015 09:20:35 +0000 (+1000)
Subject: libFLAC/stream_decoder.c: Fix undefined behaviour
X-Git-Url: http://git.xiph.org/?p=flac.git;a=commitdiff_plain;h=fb273e469e358994034e79e882192ac5eb7c9d48
libFLAC/stream_decoder.c: Fix undefined behaviour
Found by compiling with -fsanitize=undefined and running the testsuite.
--------------------------------------------------------------------------------
From: Erik de Castro Lopo <erikd@mega-nerd.com>
Date: Sat, 22 Aug 2015 22:05:02 +0000 (+1000)
Subject: libFLAC/bitreader.c: Fix undefined behaviour
X-Git-Url: http://git.xiph.org/?p=flac.git;a=commitdiff_plain;h=b18d8d50bd6badda5a92195fb8cab51939bcee2a
libFLAC/bitreader.c: Fix undefined behaviour
The function FLAC__bitreader_read_raw_int32() triggered undefined behaviour
when sign extending an unsigned value. The Stanford Grahpics bithacks page
provided an alternative that avoided UB.
--------------------------------------------------------------------------------
From: Erik de Castro Lopo <erikd@mega-nerd.com>
Date: Sat, 8 Aug 2015 22:50:30 +0000 (+1000)
Subject: decoder: Treat negative qlp_shift as an error
X-Git-Url: http://git.xiph.org/?p=flac.git;a=commitdiff_plain;h=7083cf2d9041f51c53441c7246664b34dce65a64
decoder: Treat negative qlp_shift as an error
Shift by a negative value is undefined behaviour so there is no "right"
way of dealing with this.
Patch-from: lvqcl <lvqcl.mail@gmail.com>
--------------------------------------------------------------------------------
From: Erik de Castro Lopo <erikd@mega-nerd.com>
Date: Sun, 5 Jul 2015 11:21:44 +0000 (+1000)
Subject: libFLAC: More comment validation
X-Git-Url: http://git.xiph.org/?p=flac.git;a=commitdiff_plain;h=ff50779e4498b87cc2023cabb46e970b9f8787e6
libFLAC: More comment validation
When the allocation for obj->comment fails, set obj->num_comments
to zero.
Patch-from: lvqcl <lvqcl.mail@gmail.com>
--------------------------------------------------------------------------------
From: Erik de Castro Lopo <erikd@mega-nerd.com>
Date: Tue, 31 Mar 2015 07:08:09 +0000 (+1100)
Subject: src/libFLAC/lpc.c : Restore missing conditional.
X-Git-Url: http://git.xiph.org/?p=flac.git;a=commitdiff_plain;h=ef9f7998fd358b2812a7296fe1c5aed221bade5f
src/libFLAC/lpc.c : Restore missing conditional.
Git commit 9c2290ade5 in-correctly removed a conditional around
an fprintf. Thanks to mark4o on #xiph (freenode) for reporting
this.
--------------------------------------------------------------------------------
From: Erik de Castro Lopo <erikd@mega-nerd.com>
Date: Sun, 5 Jul 2015 10:54:28 +0000 (+1000)
Subject: libFLAC: Improve fix in bc5113007a
X-Git-Url: http://git.xiph.org/?p=flac.git;a=commitdiff_plain;h=d939b44a20dbeb5234ac8b4ae9de0750f5a5de7c
libFLAC: Improve fix in bc5113007a
The assert that was removed in bc5113007a, was a result of error
handling in read_metadata_vorbiscomment_() which set obj->num_comments
to zero, without freeing obj->comments and setting it to NULL.
This commit also restores the assert that was removed.
--------------------------------------------------------------------------------
From: Erik de Castro Lopo <erikd@mega-nerd.com>
Date: Fri, 20 Feb 2015 20:05:21 +0000 (+1100)
Subject: libFLAC/metadata_object.c : Fix typo in comment.
X-Git-Url: http://git.xiph.org/?p=flac.git;a=commitdiff_plain;h=c431a6c581bc40b5d92918ff03de654555378dbe
libFLAC/metadata_object.c : Fix typo in comment.
--------------------------------------------------------------------------------
From: Erik de Castro Lopo <erikd@mega-nerd.com>
Date: Sat, 4 Jul 2015 06:27:21 +0000 (+1000)
Subject: libFLAC: Remove un-needed assert
X-Git-Url: http://git.xiph.org/?p=flac.git;a=commitdiff_plain;h=bc5113007a53be2c621d5eb5f4485eddf947ef37
libFLAC: Remove un-needed assert
This asset was firing when the build was configured with --enable-debug
and the flac executable was then run under American Fuzzy Lop. Removing
the assert did not cause any other problems, even under AFL.
--------------------------------------------------------------------------------
From bc1f15db29cde0d8b46051160335e77748211123 Mon Sep 17 00:00:00 2001
From: Erik de Castro Lopo <erikd@mega-nerd.com>
Date: Sat, 25 Apr 2015 08:16:27 +1000
Subject: [PATCH] Remove old incorrect comment
As discussed on the flac-dev mailing list.
Patch-from: lvqcl <lvqcl.mail@gmail.com>
---
src/libFLAC/stream_decoder.c | 3 ---
1 file changed, 3 deletions(-)
--------------------------------------------------------------------------------
From: Erik de Castro Lopo <erikd@mega-nerd.com>
Date: Sat, 4 Jul 2015 02:19:29 +0000 (+1000)
Subject: libFLAC: Remove un-needed test for NULL before free
X-Git-Url: http://git.xiph.org/?p=flac.git;a=commitdiff_plain;h=b105f9ad9380b6561da7bd21af5051db01786775
libFLAC: Remove un-needed test for NULL before free
Passing a NULL pointer to free() is a no-op.
--------------------------------------------------------------------------------
From: Erik de Castro Lopo <erikd@mega-nerd.com>
Date: Mon, 13 Jul 2015 12:15:58 +0000 (+1000)
Subject: libFLAC: Fix decoder_flush with uninitialized decoder
X-Git-Url: http://git.xiph.org/?p=flac.git;a=commitdiff_plain;h=6ced857c253d5da286bf31adfd74a627aaa43c77
libFLAC: Fix decoder_flush with uninitialized decoder
Closes: https://sourceforge.net/p/flac/bugs/428
--------------------------------------------------------------------------------
From: Erik de Castro Lopo <erikd@mega-nerd.com>
Date: Mon, 6 Jul 2015 11:30:55 +0000 (+1000)
Subject: libFLAC/metadata_object.c: Assign NULL after free()
X-Git-Url: http://git.xiph.org/?p=flac.git;a=commitdiff_plain;h=0cacc0c09f16e1733025bcbb53073140e59bae6c
libFLAC/metadata_object.c: Assign NULL after free()
Patch-from: lvqcl <lvqcl.mail@gmail.com>
--------------------------------------------------------------------------------
From fed0dfa1086296df0af41ca8f0c6430d5ac75c87 Mon Sep 17 00:00:00 2001
From: Miroslav Lichvar <mlichvar@redhat.com>
Date: Mon, 15 Dec 2014 15:46:12 +0100
Subject: [PATCH] src/libFLAC/stream_decoder.c : Rework fix for seeking bug.
To avoid crash caused by an unbound LPC decoding when predictor order is
larger than blocksize, the sanity check needs to be moved to the subframe
decoding functions.
Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
---
src/libFLAC/stream_decoder.c | 30 ++++++++++++------------------
1 file changed, 12 insertions(+), 18 deletions(-)
--------------------------------------------------------------------------------
From b4b2910bdca010808ccf2799f55562fa91f4347b Mon Sep 17 00:00:00 2001
From: Erik de Castro Lopo <erikd@mega-nerd.com>
Date: Wed, 10 Dec 2014 18:54:16 +1100
Subject: [PATCH] src/libFLAC/stream_decoder.c : Fix seek bug.
MIME-Version: 1.0
Content-Type: text/plain; charset=utf8
Content-Transfer-Encoding: 8bit
Janne Hyvärinen reported a problem with seeking as a result of the
fix for CVE-2014-9028. This is a different solution to the issue
that should not adversely affect seeking.
This version of the fix for the above CVE has been extensively fuzz
tested using afl (http://lcamtuf.coredump.cx/afl/).
Reported-by: Janne Hyvärinen <cse@sci.fi>
---
src/libFLAC/stream_decoder.c | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
--------------------------------------------------------------------------------
From 033af7bf1cd035772a199d07342038619c019993 Mon Sep 17 00:00:00 2001
From: Erik de Castro Lopo <erikd@mega-nerd.com>
Date: Wed, 18 Feb 2015 17:55:52 +1100
Subject: [PATCH] libFLAC : Put upper bound on number of seek points.
Restrict number of seek points to 32768 total and a maximum of two per
second.
Ten hours of content is 36000 seconds which gives about one seek point
for every second for those ten hours. Also, having more than two seek
point per second makes little sense regardless of content length.
Without these restrictions flac-to-flac encoding of a malformed input
file (eg something generated with http://lcamtuf.coredump.cx/afl/)
can result in an attempt to generate a stupidly large number of seek
points and cause an allocation failure.
---
src/libFLAC/metadata_object.c | 7 +++++++
src/share/grabbag/seektable.c | 2 ++
2 files changed, 9 insertions(+)
--------------------------------------------------------------------------------
From: Erik de Castro Lopo <erikd@mega-nerd.com>
Date: Wed, 17 Dec 2014 08:02:26 +0000 (+1100)
Subject: src/libFLAC/stream_decoder.c : Fix NULL de-reference.
X-Git-Url: http://git.xiph.org/?p=flac.git;a=commitdiff_plain;h=875be0ada54aa6cd24ef57a890f6f454399f4409
src/libFLAC/stream_decoder.c : Fix NULL de-reference.
NULL de-reference can really only happen on a malformed file.
Found using afl (http://lcamtuf.coredump.cx/afl/).
--------------------------------------------------------------------------------
From 18a485451014b766573fc104fc8bfc57c61d822f Mon Sep 17 00:00:00 2001
From: Erik de Castro Lopo <erikd@mega-nerd.com>
Date: Thu, 11 Dec 2014 20:40:37 +1100
Subject: [PATCH] stream_decoder.c : Fix free-ing of unitilialized pointer.
Found using afl (http://lcamtuf.coredump.cx/afl/).
---
src/libFLAC/stream_decoder.c | 13 +++++++++----
1 file changed, 9 insertions(+), 4 deletions(-)
--------------------------------------------------------------------------------
From 43ba7ad05f1656e885ce2f34a9a72494f45705ae Mon Sep 17 00:00:00 2001
From: Erik de Castro Lopo <erikd@mega-nerd.com>
Date: Fri, 28 Nov 2014 23:39:25 +1100
Subject: [PATCH] src/libFLAC/stream_decoder.c : Fix another input validation bug.
MIME-Version: 1.0
Content-Type: text/plain; charset=utf8
Content-Transfer-Encoding: 8bit
If a file says it contains a stupidly large number of vorbis comments,
the stream decoder would try to allocate enough memory which would fail
returning NULL and then write to that pointer anyway. The solution is
to set a hard limit of 10000 vorbis comments and force num_comments to
zero if the number is too large.
Problem found using the afl (american fuzzy lop) fuzzer.
Closes: https://sourceforge.net/p/flac/bugs/421/
Reported-by : Hanno Böck <hanno@hboeck.de>
---
src/libFLAC/stream_decoder.c | 5 +++++
1 files changed, 5 insertions(+), 0 deletions(-)
--------------------------------------------------------------------------------
From 5a365996d739bdf4711af51d9c2c71c8a5e14660 Mon Sep 17 00:00:00 2001
From: Erik de Castro Lopo <erikd@mega-nerd.com>
Date: Thu, 27 Nov 2014 11:55:11 +1100
Subject: [PATCH] src/libFLAC/stream_decoder.c : Fail safely to avoid a heap overflow.
This fix is closely related to the fix for CVE-2014-9028. When that
fix went public Miroslav Lichvar noticed a similar potential problem
spot in the same function and was able to craft a file to trigger a
heap write overflow.
Reported-by : Miroslav Lichvar <mlichvar@redhat.com>
---
src/libFLAC/stream_decoder.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
--------------------------------------------------------------------------------
From fcf0ba06ae12ccd7c67cee3c8d948df15f946b85 Mon Sep 17 00:00:00 2001
From: Erik de Castro Lopo <erikd@mega-nerd.com>
Date: Wed, 19 Nov 2014 19:35:59 -0800
Subject: [PATCH] src/libFACL/stream_decoder.c : Fail safely to avoid a heap overflow.
A file provided by the reporters caused the stream decoder to write to
un-allocated heap space resulting in a segfault. The solution is to
error out (by returning false from read_residual_partitioned_rice_())
instead of trying to continue to decode.
Fixes: CVE-2014-9028
Reported-by: Michele Spagnuolo,
Google Security Team <mikispag@google.com>
---
src/libFLAC/stream_decoder.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
--------------------------------------------------------------------------------
From 5b3033a2b355068c11fe637e14ac742d273f076e Mon Sep 17 00:00:00 2001
From: Erik de Castro Lopo <erikd@mega-nerd.com>
Date: Tue, 18 Nov 2014 07:20:25 -0800
Subject: [PATCH] src/libFLAC/stream_decoder.c : Fix buffer read overflow.
This is CVE-2014-8962.
Reported-by: Michele Spagnuolo,
Google Security Team <mikispag@google.com>
---
src/libFLAC/stream_decoder.c | 6 +++++-
1 files changed, 5 insertions(+), 1 deletions(-)
--------------------------------------------------------------------------------
From 7efe8f3bb5c44cf9ce0f6c821f937e9fff781b2e Mon Sep 17 00:00:00 2001
From: Erik de Castro Lopo <erikd@mega-nerd.com>
Date: Fri, 14 Nov 2014 23:35:37 -0800
Subject: [PATCH] metadata_iterators.c : Set status when metadata itereator is not writable.
The status should be FLAC__METADATA_SIMPLE_ITERATOR_STATUS_ILLEGAL_INPUT.
Closes: http://sourceforge.net/p/flac/patches/50/
---
src/libFLAC/metadata_iterators.c | 4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)
--------------------------------------------------------------------------------
From 25db9b2cce84db62a4689e7e69d5ed14b517da7a Mon Sep 17 00:00:00 2001
From: Erik de Castro Lopo <erikd@mega-nerd.com>
Date: Sat, 27 Sep 2014 08:52:27 +1000
Subject: [PATCH] Improve malformed vorbiscomment handling.
MIME-Version: 1.0
Content-Type: text/plain; charset=utf8
Content-Transfer-Encoding: 8bit
A few minor tweaks on a patch from Janne Hyvärinen <cse@sci.fi>.
fixup
---
src/libFLAC/metadata_iterators.c | 44 ++++++++++++---
src/libFLAC/stream_decoder.c | 110 ++++++++++++++++++++++++--------------
2 files changed, 106 insertions(+), 48 deletions(-)
--------------------------------------------------------------------------------
From 2c15052550528415139fa37a121030d777bc630f Mon Sep 17 00:00:00 2001
From: Erik de Castro Lopo <erikd@mega-nerd.com>
Date: Sat, 28 Jun 2014 21:50:09 +1000
Subject: [PATCH] libFLAC: CPUID detecion improvements.
According to docs, it's incorrect to just call CPUID with EAX=1.
One must to ensure that this value is supported.
CPUs that don't support CPUID level 1 are very old, but...
if FLAC tests CPUID presence it should also test CPUID level support.
Also the function FLAC__cpu_have_cpuid_asm_ia32 was simplified
according to the docs at Intel website and in Wikipedia.
Patch-from: lvqcl <lvqcl.mail@gmail.com>
---
src/libFLAC/cpu.c | 5 +++++
src/libFLAC/ia32/cpu_asm.nasm | 18 +++++++++---------
2 files changed, 14 insertions(+), 9 deletions(-)
--------------------------------------------------------------------------------
From 6ccef14727a2257736782d9094c5d7708dae1d8d Mon Sep 17 00:00:00 2001
From: Erik de Castro Lopo <erikd@mega-nerd.com>
Date: Sat, 28 Jun 2014 09:25:25 +1000
Subject: [PATCH] stream_decoder : Two read_metadata() fixes from 1.2.1 maintenance branch.
* Fix leaks in read_metadata_() that could occur because of read errors or
malformed streams.
http://flac.cvs.sourceforge.net/viewvc/flac/flac/src/libFLAC/
stream_decoder.c?
r1=1.147&r2=1.147.2.1&pathrev=FLAC_RELEASE_1_2_1_MAINTENANCE_BRANCH
* Fix metadata block initialization bug in read_metadata_().
http://flac.cvs.sourceforge.net/viewvc/flac/flac/src/libFLAC/
stream_decoder.c?
r1=1.147.2.1&r2=1.147.2.2&pathrev=FLAC_RELEASE_1_2_1_MAINTENANCE_BRANCH
Patch-from: lvqcl <lvqcl.mail@gmail.com>
---
src/libFLAC/stream_decoder.c | 27 ++++++++++++++++-----------
1 files changed, 16 insertions(+), 11 deletions(-)
--------------------------------------------------------------------------------
From be0a894278a3f5b0d08441081214eb12fa4e7a4f Mon Sep 17 00:00:00 2001
From: Erik de Castro Lopo <erikd@mega-nerd.com>
Date: Sun, 25 May 2014 19:42:53 +1000
Subject: [PATCH] configure.ac : Add -fvisibility=hidden to OSX build.
Patch-from : Ozkan Sezer <sezeroz@gmail.com>
---
configure.ac | 7 ++++++-
1 files changed, 6 insertions(+), 1 deletions(-)
--------------------------------------------------------------------------------
From 006b8356d5159792211a2477a46a5ea832a3c0ae Mon Sep 17 00:00:00 2001
From: Erik de Castro Lopo <erikd@mega-nerd.com>
Date: Sun, 23 Mar 2014 21:59:46 +1100
Subject: [PATCH] Fix all instances of '#if HAVE_CONFIG_H'.
Should be '#ifdef HAVE_CONFIG_H'.
Closes: https://sourceforge.net/p/flac/bugs/410/
--------------------------------------------------------------------------------
From 1a6df831633d701dce69fa01472a8be195c4132e Mon Sep 17 00:00:00 2001
From: Erik de Castro Lopo <erikd@mega-nerd.com>
Date: Fri, 11 Apr 2014 06:16:32 +1000
Subject: [PATCH] Use _M_X64 instead of _WIN64.
Patch-from: lvqcl <lvqcl.mail@gmail.com>
---
src/libFLAC/include/private/bitmath.h | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
--------------------------------------------------------------------------------
From 49d9d742e2f84295a0dca8ad9a88c94c9a57b95d Mon Sep 17 00:00:00 2001
From: Erik de Castro Lopo <erikd@mega-nerd.com>
Date: Sun, 23 Mar 2014 21:40:54 +1100
Subject: [PATCH] metadata_object.c : Fix handling of zero length vorbis comment string.
Previously if a zero length string was passed in, the pointer would be
stored regardless of the copy parameter. If the original source pointer
was reassigned to something else bad things could happen.
Closes: https://sourceforge.net/p/flac/bugs/377/
---
src/libFLAC/metadata_object.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
--------------------------------------------------------------------------------
From 71c9555366336b5d4fcd54cf522036db68f603cf Mon Sep 17 00:00:00 2001
From: Erik de Castro Lopo <erikd@mega-nerd.com>
Date: Sun, 2 Feb 2014 10:42:17 +1100
Subject: [PATCH] bitmath.h : Fixes for FLAC__bitmath_ilog2_wide().
Existing version had a number of problems:
1) it didn't compile with MSVS
2) it returned correct results only when compiles with GNUC
3) it mentioned LGPL which isn't good for a BSD-licensed library
LGPL -> BSD issue documented here:
http://lists.xiph.org/pipermail/flac-dev/2013-September/004356.html
Patch-from: lvqcl <lvqcl.mail@gmail.com>
---
src/libFLAC/include/private/bitmath.h | 45 +++++++++++++++++----------------
1 files changed, 23 insertions(+), 22 deletions(-)
--------------------------------------------------------------------------------
From c2747bec1ceecbb6519e057439edc6f5cf01dd1d Mon Sep 17 00:00:00 2001
From: Erik de Castro Lopo <erikd@mega-nerd.com>
Date: Sat, 18 Jan 2014 07:31:41 +1100
Subject: [PATCH] lpc_asm.nasm : More 'mov cl' -> 'mov ecx' fixes.
According to Agner Fog in optimizing_assembly.pdf:
"... write to a partial register may result in false dependencies
between instructions, so it is better to avoid it."
Patch-from: lvqcl <lvqcl.mail@gmail.com>
---
src/libFLAC/ia32/lpc_asm.nasm | 18 ++++++++++--------
1 files changed, 10 insertions(+), 8 deletions(-)
--------------------------------------------------------------------------------
From 8e4a45ac863a63e4f6256be487e71e852f22fbba Mon Sep 17 00:00:00 2001
From: Erik de Castro Lopo <erikd@mega-nerd.com>
Date: Tue, 7 Jan 2014 21:25:03 +1100
Subject: [PATCH] libFLAC/ia32/lpc_asm.nasm : Match calls and returns.
According to Agner Fog, "...you must make sure that all calls
are matched with returns. Never jump out of a subroutine without
a return and never use a return as an indirect jump."
(see paragraph 3.15 in microarchitecture.pdf and
examples 3.5a and 3.5b in optimizing_assembly.pdf)
Patch-from: lvqcl <lvqcl.mail@gmail.com>
---
src/libFLAC/ia32/lpc_asm.nasm | 24 ++++++++++++++++--------
1 files changed, 16 insertions(+), 8 deletions(-)
--------------------------------------------------------------------------------
From 3cea079a2f56357468f727fa4b6b35103426db17 Mon Sep 17 00:00:00 2001
From: Erik de Castro Lopo <erikd@mega-nerd.com>
Date: Tue, 13 Aug 2013 19:18:40 +1000
Subject: [PATCH] Fix a couple of NASM warnings.
Suggested by Ozkan Sezer <sezeroz@gmail.com>.