Mercurial > mplayer.hg
annotate mangle.h @ 35394:7bad316da87a
stream ftp: Pass full buffer size to snprintf
Previously the buffer size was always passed as one less than
the underlying buffer's size. This is not using the underlying
buffer to its full potential according to the C99 standard. The
last byte of the buffers were never used.
No vulnerabilities should have been caused by this mistake because
the strings stored in the buffers were zero terminated at all
times. Neither were out-of-array writes nor reads possible.
author | al |
---|---|
date | Mon, 26 Nov 2012 23:36:00 +0000 |
parents | f1b71fa008e8 |
children |
rev | line source |
---|---|
28106 | 1 /* |
2 * CPP macros to deal with different symbol mangling across binary formats. | |
3 * | |
28110 | 4 * Copyright (C) 2002 Felix Buenemann <atmosfear at users.sourceforge.net> |
28106 | 5 * |
6 * This file is part of MPlayer. | |
7 * | |
8 * MPlayer is free software; you can redistribute it and/or modify | |
9 * it under the terms of the GNU General Public License as published by | |
10 * the Free Software Foundation; either version 2 of the License, or | |
11 * (at your option) any later version. | |
12 * | |
13 * MPlayer is distributed in the hope that it will be useful, | |
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
16 * GNU General Public License for more details. | |
17 * | |
18 * You should have received a copy of the GNU General Public License along | |
19 * with MPlayer; if not, write to the Free Software Foundation, Inc., | |
20 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | |
4243 | 21 */ |
22 | |
26029 | 23 #ifndef MPLAYER_MANGLE_H |
24 #define MPLAYER_MANGLE_H | |
4243 | 25 |
28128
94bc143e3f80
Include config.h in mangle.h, fixes make checkheaders.
reimar
parents:
28116
diff
changeset
|
26 #include "config.h" |
94bc143e3f80
Include config.h in mangle.h, fixes make checkheaders.
reimar
parents:
28116
diff
changeset
|
27 |
27747
8215fb6c542c
Move attribute_used declaration from config.h to mangle.h where it is useful.
diego
parents:
26029
diff
changeset
|
28 #if (__GNUC__ * 100 + __GNUC_MINOR__ >= 300) |
8215fb6c542c
Move attribute_used declaration from config.h to mangle.h where it is useful.
diego
parents:
26029
diff
changeset
|
29 #define attribute_used __attribute__((used)) |
8215fb6c542c
Move attribute_used declaration from config.h to mangle.h where it is useful.
diego
parents:
26029
diff
changeset
|
30 #else |
8215fb6c542c
Move attribute_used declaration from config.h to mangle.h where it is useful.
diego
parents:
26029
diff
changeset
|
31 #define attribute_used |
8215fb6c542c
Move attribute_used declaration from config.h to mangle.h where it is useful.
diego
parents:
26029
diff
changeset
|
32 #endif |
8215fb6c542c
Move attribute_used declaration from config.h to mangle.h where it is useful.
diego
parents:
26029
diff
changeset
|
33 |
29600
577c86f00dd1
Support x86_64 + PIC in mangle.h, needed for OS X 64 bit compiles.
reimar
parents:
28128
diff
changeset
|
34 #if ARCH_X86_64 && defined(PIC) |
577c86f00dd1
Support x86_64 + PIC in mangle.h, needed for OS X 64 bit compiles.
reimar
parents:
28128
diff
changeset
|
35 #define MANGLE(a) EXTERN_PREFIX #a "(%%rip)" |
577c86f00dd1
Support x86_64 + PIC in mangle.h, needed for OS X 64 bit compiles.
reimar
parents:
28128
diff
changeset
|
36 #else |
28116
d3c2f2b726ed
Simplify the definition of MANGLE, possibly also makes it easier to support more systems.
reimar
parents:
28110
diff
changeset
|
37 #define MANGLE(a) EXTERN_PREFIX #a |
29600
577c86f00dd1
Support x86_64 + PIC in mangle.h, needed for OS X 64 bit compiles.
reimar
parents:
28128
diff
changeset
|
38 #endif |
4243 | 39 |
26029 | 40 #endif /* MPLAYER_MANGLE_H */ |