Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
Leading whitespace could prevent this from working.
|
|
Now that the macro are either imported from the system or defined by
configure. don't define them in every source file.
|
|
All the initialisation functions returning a new object instance that
was allocated through malloc() or calloc() can get the malloc
attribute so that the compiler can optimise their call.
|
|
When using a variable to store the result of strlen(), make sure its
type is size_t just like the function returns, rather than using a
smaller type like int.
--HG--
extra : transplant_source : %B0%D5%3B%D7%1Dy%0A%7E%7D%7C%023%08%B2%CE%D3t%0B3%D7
|
|
Instead of using strlen() to get the new size of the string every
time, use the value returned by snprintf() to gather the size of the
final string.
--HG--
extra : transplant_source : %AA%0D%D3d9%D6%99%D7BP%21w%F3%DE%8Au%90l%AD%16
|
|
--HG--
extra : transplant_source : %3B%87%DA%89%F2.%1F%F4%F0L/%C4%A3%5B%5C3%1A%09%05g
|
|
Instead of passing through a temporary ui_title array on the stack,
use the array already allocated for the xine_ui_data_t element. Also
do that for ui_str_length.
--HG--
extra : transplant_source : %1A%B5e%8E%C0gQ%A9%BC%08%B2%0Bm%A9Ec%C1%9F%23%EF
|
|
Instead of duplicating a buffer after using sn?printf() on it, use
asprintf() directly on the final variable.
|
|
|
|
|
|
Also, reduce visibility of the i variable to the loop where it is
used.
|
|
Also, don't reset buffers when we're just going to run a snprintf()
call, and avoid multiple calls to strlen() when we're appending to it.
|
|
Use the proper function for common memory operations (memset() for
zeroing, memcpy() for copying, memmove() for moving), instead of
looping through arrays.
By extension, remove loops to reset arrays when they were allocated
with calloc() and thus already zeroed.
|
|
Instead of executing strlen() after each snprintf() call, use the
value returned by the call itself.
Instead of using sprintf() on a buffer and then duplicate it, use
asprintf().
|
|
Instead of using sscanf() to get the data out of headers, as we just
compared them, skip the name of the header and get the rest. Add the
whitespace to the compare so that it actually works as intended. Also
save some unneeded dup/free.
|
|
asprintf where appropriate.
Instead of creating a 100-elements filelist array, with each element
containing a 256 bytes string, make it dynamic, create it when
get_autoplay_list is called, free it if it was present before, and use
asprintf() for creating the entries.
This not only reduces the complexity of the code, but also reduces the
size of the input class object (which in turn reduce memory usage),
but also avoids memory leaks that the previous code certainly had. The
total memory used even with a full list of files should also be
drastically reduced.
Also, use asprintf while filling the mrls data, rather than allocating
a 1 KiB array on the stack, and use it as temporary.
|
|
Allocate all the frames, the extra info data and the audio and video
content areas as one big memory area each.
This also remove some use of xine_xmalloc().
|
|
Instead of duplicating twice the http_proxy environment variable
value, do so only once, avoid a strlen() call when checking if the
string is not empty, remove the http_proxy variable entirely, don't
free the duplicated string as that's what it's used.
|
|
Instead of creating strings through a series os string copy and
concatenations, use directly the appropriate printf-like function.
|
|
Whenever an allocated memory area is immediately filled in with a
string through strcpy() or strncpy(), replace the calls with the
appropriate strn?dup().
|
|
Instead of calling sprintf or snprintf with a "%s" format string, use
the proper strcpy, strncpy, strdup or strndup function.
|
|
There is no need to check if a pointer is not NULL before freeing it,
so just call free() during MRL_FREE.
During duplication, always prefer freeing and recreating to
reallocating, as that would probably take more time than would
actually be needed to allocate a new memory area. Also, most likely
the duplication will happen on a new instance.
|
|
Using asprintf() instead of malloc() + sprintf() reduces the lines of
code in xine-lib (moving the allocation to the C library or asprintf
replacement), makes it safer to access the string and can also improve
performance whenever the value returned by a function was used as
parameter, as before it had to run the function twice in almost every
case (once for strlen(), once for sprintf()).
|
|
|
|
The xine_xmalloc() function is going to be deprecated, as its
behaviour is rarely needed as such, and it's thus misused.
With this, almost all uses of xine_xmalloc() with static size (for
instance the value returned by sizeof()) or with a size that is
guaranteed not to be zero (like strlen()+1) are replaced with calls to
either calloc(1, ...) or malloc().
malloc() is used whenever the allocated memory is going to be
immediately overwritten, while calloc() is used in every other case,
as it sets the whole memory area to zero.
--HG--
extra : transplant_source : %8F%98%EC%02%1E%83%F0s%06X%83C%205Y%80%B12%CC%E1
|
|
Functions and data structures that are not exported and are only ever
used in the same unit they are defined should be marked static to
improve compiler's ability to optimise them.
This applies to xine_dispose_internal() function for xine-lib, the
extended_to_int() function in the AIFF demuxer, the bandwidths array
in QuickTime demuxer, the wc_pal_lookup table in the WC3 movie
demuxer, and the rm_header and pnm_data_header arrays in pnm input
plugin.
|
|
|
|
|
|
|
|
|
|
1.2 series.
|
|
(transplanted from e9e85d6bcc7e9aafb1dc019f3505de2dafe940bf)
--HG--
extra : transplant_source : %E9%E8%5Dk%CC%7E%9A%AF%B1%DC%01%9F5%05%DE-%AF%E9%40%BF
|
|
size of an item for the number of items.
(transplanted from efc9d92af3d7927cbf5534b5612fd98af541ff95)
--HG--
extra : transplant_source : %EF%C9%D9%2A%F3%D7%92%7C%BFU4%B5a/%D9%8A%F5A%FF%95
|
|
elements by the size of the single element.
(transplanted from 512894f517c423fed0cadeca0d46c6d909403106)
--HG--
extra : transplant_source : Q%28%94%F5%17%C4%23%FE%D0%CA%DE%CA%0DF%C6%D9%09%401%06
|
|
Thanks to Alin Rad Pop, Secunia Research.
|
|
libdvdread uses the file length provided by the UDF fs of the title set IFO
files authoritative. I got a DVD which have parts of this file mapped outside
of the provided file size and according to my memory only the offsets in the
files matters in the standard.
This patch adjusts the internal knowledge of the filesize accordingly and at
least allows mplayer to play the dvd.
(Imported from Debian libdvdread 0.9.7-8)
|
|
--HG--
extra : transplant_source : %90%CC%97%8Fk%C1%FD%9C%A4%FB%0C%9E%07%F5A%B8%29o%EEo
|
|
|
|
|
|
|
|
CVE-2008-0225; ported from mplayer changeset 22821.
|
|
versions 0.10.6+
Note: the old code divided the frequency by 62.5. But, the ivtv driver
expects a different format. I changed the implementation in input_pvr such
that the frequency can be given as provided by cable companies, multiplied by
1000: e.g. 503250 for 503.250 MHz.
|
|
|
|
/usr/bin/totem-video-thumbnailer -s 128 ssh://user@hosts/path/to/video.ext
Will segfault.
All the time.
--HG--
extra : transplant_source : H%1EU%A5%3C%E6r%976%AA%C3%92%E5l%C7w%92dg.
|
|
ivtv now requires the video device to be re-opened when the input is changed.
|
|
|