1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2025-06-14 22:15:12 +02:00
Commit Graph

113 Commits

Author SHA1 Message Date
4959f18a8e Merge commit '04b0f0e371ff81b682274b574fb465ba4395c09f'
* commit '04b0f0e371ff81b682274b574fb465ba4395c09f':
  mem: uninline av_malloc(z)_array()

Merged-by: James Almer <jamrial@gmail.com>
2017-10-30 16:08:14 -03:00
04b0f0e371 mem: uninline av_malloc(z)_array()
Inlining public functions hardcodes their implementation into the ABI,
so it should be avoided unless there is a very good reason for it. No
such reason exists in this case.
2017-04-26 09:05:28 +02:00
3835283293 Merge commit '4fb311c804098d78e5ce5f527f9a9c37536d3a08'
* commit '4fb311c804098d78e5ce5f527f9a9c37536d3a08':
  Drop memalign hack

Merged, as this may indeed be uneeded since
46e3936fb0.

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-20 08:54:44 +01:00
4fb311c804 Drop memalign hack
It no longer serves a useful purpose.
2016-09-03 15:11:29 +02:00
04da20e58f dynarray: Change AV_ to FF_ for AV_DYNARRAY_ADD
The header is not installed and the macro isn't used outside libavutil,
so it is obviously privat to libavutil. Make the name reflect that.
2016-07-31 10:19:03 -07:00
65b2feb890 avutil/mem: fix memleak
The original code assumes av_realloc() will free ptr if size is zero.
The assumes is incorrect now.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-07-28 12:09:05 +02:00
fc91eeab0b avutil/mem: Add av_fast_mallocz()
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-18 22:05:16 +01:00
d6ff68ad85 Factor duplicated ff_fast_malloc() out into mem_internal.h
internal.h is difficult to use due to circular dependancies
mem.h is a public header ff_* is not public
Alternative solutions probably are possible too

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-13 02:41:43 +02:00
b3415e4c5f avutil/mem: Fix potential overflow in overallocation code
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-11 22:47:09 +02:00
4950bd4ebe libavutil/mem: use size_t for the length in av_strdup()
the string length is not constrained to INT_MAX

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-10 16:06:50 +02:00
63186ac5f1 avutil/mem: replace remaining void **/*** casts by memcpy()
This is similar to 6039248018

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-03 14:28:56 +01:00
fa73358c9b Merge commit '60392480181f24ebf3ab48d8ac3614705de90152'
* commit '60392480181f24ebf3ab48d8ac3614705de90152':
  mem: fix pointer pointer aliasing violations

Conflicts:
	libavutil/mem.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-01 13:52:22 +01:00
6039248018 mem: fix pointer pointer aliasing violations
This uses explicit memory copying to read and write pointer to pointers
of arbitrary object types. This works provided that the architecture
uses the same representation for all pointer types (the previous code
made that assumption already anyway).

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-02-01 02:28:40 +01:00
c8571c61ec Merge commit '8ddc32629a6d6be77256694c9e322dde134609f3'
* commit '8ddc32629a6d6be77256694c9e322dde134609f3':
  mem: add av_strndup() for duplicating substrings

Conflicts:
	libavutil/mem.c
	libavutil/mem.h
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-14 00:29:06 +02:00
8ddc32629a mem: add av_strndup() for duplicating substrings 2014-08-13 17:24:18 +00:00
cd50a44beb lavu/mem: add av_dynarray_add_nofree function
av_dynarray_add_nofree function have similar functionality
as existing av_dynarray_add, but it doesn't deallocate memory
on fails.

Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
2014-03-29 09:48:48 +01:00
9ba1190297 avutil/mem: avoid using intptr_t to access void* in av_dynarray_add()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-22 21:14:57 +01:00
b0dcf76530 lavu/mem: reimplement the dynarray functions with the macro.
Signed-off-by: Nicolas George <george@nsup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-22 20:53:36 +01:00
7c888ae746 Merge commit 'cce3e0a49f0dd030262c28d9c53de0bd2fd909c4'
* commit 'cce3e0a49f0dd030262c28d9c53de0bd2fd909c4':
  Move av_fast_{m,re}alloc from lavc to lavu.

Conflicts:
	libavcodec/avcodec.h
	libavcodec/utils.c
	libavutil/mem.c
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-14 15:04:04 +01:00
cce3e0a49f Move av_fast_{m,re}alloc from lavc to lavu. 2013-11-14 09:42:22 +01:00
21b3563dcb Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mem: Make av_strdup allocate using av_realloc

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-17 08:13:42 +02:00
d433e1aefa mem: Make av_strdup allocate using av_realloc
This makes sure that pointers from av_strdup are reallocable,
which is used in av_dict_set if the AV_DICT_APPEND flag is set.

Nothing should rely on pointers from av_strdup being aligned.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-10-16 18:59:01 +03:00
6c169c2fa4 Merge commit '67e285ceca1cb602a5ab87010b30d904527924fe'
* commit '67e285ceca1cb602a5ab87010b30d904527924fe':
  mem: Handle av_reallocp(..., 0) properly

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-21 09:36:58 +02:00
67e285ceca mem: Handle av_reallocp(..., 0) properly
Previously this did a double free (and returned an error).

Reported-by: Justin Ruggles
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-20 21:23:08 +03:00
c74c3fb142 Merge commit '3feb3d6ce4be0a09a9f8f13d613bed25b523b6e7'
* commit '3feb3d6ce4be0a09a9f8f13d613bed25b523b6e7':
  mem: Introduce av_reallocp

Conflicts:
	doc/APIchanges
	libavutil/mem.c
	libavutil/mem.h
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-17 11:06:26 +02:00
3feb3d6ce4 mem: Introduce av_reallocp 2013-09-16 19:36:37 +02:00
5866c107a9 Merge commit 'c3e6e8f06c42499bd020fd0b37f9542150e6067b'
* commit 'c3e6e8f06c42499bd020fd0b37f9542150e6067b':
  mem: Do not check unsigned values for negative size

Conflicts:
	libavutil/mem.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-06 12:21:16 +02:00
92424a45d0 Merge commit 'b634b36fcebfe16b837b6c4044f5d5cb99a75040'
* commit 'b634b36fcebfe16b837b6c4044f5d5cb99a75040':
  mem: Improve documentation wording and spelling

Conflicts:
	libavutil/mem.c
	libavutil/mem.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-06 12:05:02 +02:00
c3e6e8f06c mem: Do not check unsigned values for negative size 2013-09-05 12:38:43 +02:00
b634b36fce mem: Improve documentation wording and spelling 2013-09-05 12:38:43 +02:00
c94f9e8542 avutil/mem: Fix flipped condition
Fixes return code and later null pointer dereference

Found-by: Laurent Butti <laurentb@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-09 13:47:10 +02:00
fbc472da29 avutil/mem: simplify av_reallocp_array() by using av_realloc_f()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-05 14:40:31 +02:00
30b491f1c9 Merge commit '3b4feac1ec14f861bdd7f494f288f4d8dd7f449e'
* commit '3b4feac1ec14f861bdd7f494f288f4d8dd7f449e':
  movenc: Keep track of the allocated size for the cluster array
  mem: Add av_realloc_array and av_reallocp_array

Conflicts:
	doc/APIchanges
	libavformat/movenc.c
	libavutil/mem.c
	libavutil/mem.h
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-05 11:19:16 +02:00
fc962d4e7a mem: Add av_realloc_array and av_reallocp_array
These help avoiding overflows and simplify error handling.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-06-04 15:04:08 +03:00
e3984166a4 lavu/mem: add av_dynarray2_add()
Based on a patch by Clément Bœsch.

See thread:
From: Clément Bœsch <ubitux@gmail.com>
Subject: [FFmpeg-devel] [PATCH 1/5] lavu: add av_dynarray_alloc_elem().
Date: Sun, 14 Apr 2013 03:07:54 +0200
2013-05-13 13:52:31 +02:00
84be806982 lavu: define FF_MEMORY_POISON and use it
Allow single-place definition of constant used to fill poisoned memory.
2013-05-13 13:52:26 +02:00
ee9794ed20 lavu/mem: fix potential int overflow and crash in av_dynarray_add()
Also extend documentation accordingly.
2013-05-08 01:39:12 +02:00
89b5039ff2 avutil/mem: add av_memdup()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-02 13:44:05 +02:00
1c1a2d1319 lavu/mem: remove redundant comment from av_dynarray_add()
The function is documented in mem.h.
2013-04-27 20:34:10 +02:00
91b747ac78 mem: Fix usage of memalign() on DJGPP.
Credits to Khusraw of bttr-software.de forum.
Signed-off-by: Carl Eugen Hoyos <cehoyos@ag.or.at>
2013-03-10 11:12:56 +01:00
4ba35194a9 Merge commit 'f935aca44c674d30e3ed940ef73bbad1228a5855'
* commit 'f935aca44c674d30e3ed940ef73bbad1228a5855':
  av_memcpy_backptr: avoid an infinite loop for back = 0
  4xm: check the return value of read_huffman_tables().

Conflicts:
	libavcodec/4xm.c
	libavutil/mem.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-24 12:22:51 +01:00
f935aca44c av_memcpy_backptr: avoid an infinite loop for back = 0
CC:libav-stable@libav.org
2013-02-23 09:16:15 +01:00
2c21d34ea4 avutil/mem: do a small set of checks for memalign hack before freeing.
These can detect some kinds of memory and or pointer corruptions

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-22 20:42:33 +01:00
58f30175e1 mem: minor simplification of the alignment hack code
Idea-by: wanzhang
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-14 05:36:22 +01:00
99efd59626 Merge commit 'cb45553f577f8e0ebfe05d3287e1b6fa5859b967'
* commit 'cb45553f577f8e0ebfe05d3287e1b6fa5859b967':
  Remove pointless #undefs of previously forbidden functions.
  fate: Add dependencies for bmp, cdxl, dfa, mp3

Conflicts:
	doc/examples/muxing.c
	libavfilter/filtfmts.c
	libavutil/des.c
	libavutil/eval.c
	libavutil/log.c
	libavutil/parseutils.c
	tests/fate/mp3.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-05 13:34:45 +01:00
cb45553f57 Remove pointless #undefs of previously forbidden functions. 2012-12-04 21:40:22 +01:00
25ca8aef54 Merge commit '4a606c830ae664013cea33800094d4d0f4ec62da'
* commit '4a606c830ae664013cea33800094d4d0f4ec62da':
  av_memcpy_backptr: optimise some special cases
  mpegvideo: simplify dxy calculation in hpel_motion()
  build: add rules to generate preprocessed source files

Conflicts:
	Makefile
	libavutil/mem.c
	library.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-23 13:30:51 +01:00
4a606c830a av_memcpy_backptr: optimise some special cases
- Add special cases for offsets of 2, 3, or 4 bytes.  This means the
  offset is always >4 in the generic case, allowing 32-bit copies to
  be used there.
- Don't use memcpy() for sizes less than 16 bytes.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-11-23 12:04:17 +00:00
aa604e8e33 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avutil: Make LZO decoder code configure-time selectable
  avutil: Move memcpy_backptr() to mem.c
  configure: detect parisc64 automatically
  configure: detect ppc64 automatically
  configure: detect mips64 automatically
  configure: generalise 64-bit test
  smoothstreamingenc: Don't assume streams start from timestamp 0

Conflicts:
	configure
	libavutil/Makefile
	libavutil/lzo.c
	libavutil/lzo.h
	libavutil/mem.c
	libavutil/mem.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-25 13:15:58 +02:00
5bac2d0c30 avutil: Move memcpy_backptr() to mem.c
The function is used elsewhere and does not belong with the LZO code.
2012-10-25 11:36:57 +02:00