~siretart/xine-lib/ubuntu

« back to all changes in this revision

Viewing changes to src/xine-engine/bswap.h

  • Committer: Bazaar Package Importer
  • Author(s): Martin Pitt
  • Date: 2005-12-15 13:13:45 UTC
  • mfrom: (0.1.2 upstream)
  • Revision ID: james.westby@ubuntu.com-20051215131345-8n4osv1j7fy9c1s1
* SECURITY UPDATE: Fix arbitrary code execution with crafted PNG images in
  embedded ffmpeg copy.
* src/libffmpeg/libavcodec/utils.c, avcodec_default_get_buffer(): Apply
  upstream patch to fix buffer overflow on decoding of small PIX_FMT_PAL8
  PNG files.
* References:
  CVE-2005-4048
  http://mplayerhq.hu/pipermail/ffmpeg-devel/2005-November/005333.html
  http://www1.mplayerhq.hu/cgi-bin/cvsweb.cgi/ffmpeg/libavcodec/
  utils.c.diff?r1=1.161&r2=1.162&cvsroot=FFMpeg

Show diffs side-by-side

added added

removed removed

Lines of Context:
122
122
 
123
123
#else
124
124
 
125
 
#define BE_16(x) ((((uint8_t*)(x))[0] << 8) | ((uint8_t*)(x))[1])
126
 
#define BE_32(x) ((((uint8_t*)(x))[0] << 24) | \
127
 
                  (((uint8_t*)(x))[1] << 16) | \
128
 
                  (((uint8_t*)(x))[2] << 8) | \
129
 
                   ((uint8_t*)(x))[3])
130
 
#define BE_64(x) ((uint64_t)(((uint8_t*)(x))[0] << 56) | \
131
 
                  (uint64_t)(((uint8_t*)(x))[1] << 48) | \
132
 
                  (uint64_t)(((uint8_t*)(x))[2] << 40) | \
133
 
                  (uint64_t)(((uint8_t*)(x))[3] << 32) | \
134
 
                  (uint64_t)(((uint8_t*)(x))[4] << 24) | \
135
 
                  (uint64_t)(((uint8_t*)(x))[5] << 16) | \
136
 
                  (uint64_t)(((uint8_t*)(x))[6] << 8) | \
137
 
                  (uint64_t)((uint8_t*)(x))[7])
138
 
#define LE_16(x) ((((uint8_t*)(x))[1] << 8) | ((uint8_t*)(x))[0])
139
 
#define LE_32(x) ((((uint8_t*)(x))[3] << 24) | \
140
 
                  (((uint8_t*)(x))[2] << 16) | \
141
 
                  (((uint8_t*)(x))[1] << 8) | \
142
 
                   ((uint8_t*)(x))[0])
143
 
#define LE_64(x) ((uint64_t)(((uint8_t*)(x))[7] << 56) | \
144
 
                  (uint64_t)(((uint8_t*)(x))[6] << 48) | \
145
 
                  (uint64_t)(((uint8_t*)(x))[5] << 40) | \
146
 
                  (uint64_t)(((uint8_t*)(x))[4] << 32) | \
147
 
                  (uint64_t)(((uint8_t*)(x))[3] << 24) | \
148
 
                  (uint64_t)(((uint8_t*)(x))[2] << 16) | \
149
 
                  (uint64_t)(((uint8_t*)(x))[1] << 8) | \
150
 
                  (uint64_t)((uint8_t*)(x))[0])
 
125
#define BE_16(x) (((uint16_t)(((uint8_t*)(x))[0]) << 8) | \
 
126
                  ((uint16_t)((uint8_t*)(x))[1]))
 
127
#define BE_32(x) (((uint32_t)(((uint8_t*)(x))[0]) << 24) | \
 
128
                  ((uint32_t)(((uint8_t*)(x))[1]) << 16) | \
 
129
                  ((uint32_t)(((uint8_t*)(x))[2]) << 8) | \
 
130
                  ((uint32_t)((uint8_t*)(x))[3]))
 
131
#define BE_64(x) (((uint64_t)(((uint8_t*)(x))[0]) << 56) | \
 
132
                  ((uint64_t)(((uint8_t*)(x))[1]) << 48) | \
 
133
                  ((uint64_t)(((uint8_t*)(x))[2]) << 40) | \
 
134
                  ((uint64_t)(((uint8_t*)(x))[3]) << 32) | \
 
135
                  ((uint64_t)(((uint8_t*)(x))[4]) << 24) | \
 
136
                  ((uint64_t)(((uint8_t*)(x))[5]) << 16) | \
 
137
                  ((uint64_t)(((uint8_t*)(x))[6]) << 8) | \
 
138
                  ((uint64_t)((uint8_t*)(x))[7]))
 
139
#define LE_16(x) (((uint16_t)(((uint8_t*)(x))[1]) << 8) | \
 
140
                  ((uint16_t)((uint8_t*)(x))[0]))
 
141
#define LE_32(x) (((uint32_t)(((uint8_t*)(x))[3]) << 24) | \
 
142
                  ((uint32_t)(((uint8_t*)(x))[2]) << 16) | \
 
143
                  ((uint32_t)(((uint8_t*)(x))[1]) << 8) | \
 
144
                  ((uint32_t)((uint8_t*)(x))[0]))
 
145
#define LE_64(x) (((uint64_t)(((uint8_t*)(x))[7]) << 56) | \
 
146
                  ((uint64_t)(((uint8_t*)(x))[6]) << 48) | \
 
147
                  ((uint64_t)(((uint8_t*)(x))[5]) << 40) | \
 
148
                  ((uint64_t)(((uint8_t*)(x))[4]) << 32) | \
 
149
                  ((uint64_t)(((uint8_t*)(x))[3]) << 24) | \
 
150
                  ((uint64_t)(((uint8_t*)(x))[2]) << 16) | \
 
151
                  ((uint64_t)(((uint8_t*)(x))[1]) << 8) | \
 
152
                  ((uint64_t)((uint8_t*)(x))[0]))
151
153
 
152
154
#endif /* !ARCH_X86 */
153
155