alsa-utils/0014-nhlt-use-stdint.h-types.patch
Takashi Iwai c349a7f6d8 Accepting request 1137523 from home:tiwai:branches:multimedia:libs
- Backport upstream fixes:
  buffer overflow fixes in aplay, segfault in aplaymidi, etc:
  0008-topology-include-locale.h.patch 
  0009-nhlt-dmic-info.c-include-sys-types.h.patch 
  0010-topology-pre-processor-Add-support-for-enum-controls.patch 
  0011-configure.ac-fix-UMP-support-detection.patch 
  0012-bat-really-skip-analysis-of-the-first-period-and-upd.patch 
  0013-topology-add-include-for-ENABLE_NLS-on-musl.patch 
  0014-nhlt-use-stdint.h-types.patch 
  0015-Revert-nhlt-dmic-info.c-include-sys-types.h.patch 
  0016-aplay-use-stdint.h-types-instead-u_int-u_short-u_cha.patch 
  0017-alsa-restore.rules-use-devnode-instead-number-atribu.patch 
  0018-nhlt-Revert-SSP_ANALOG-device_type-field.patch 
  0019-alsactl-fix-potential-buffer-overwrite.patch 
  0020-aplay-fix-buffer-overflow-and-tainted-format-string.patch 
  0021-misc-fix-incorrect-usages-of-strerror.patch 
  0022-aplay-Add-option-for-specifying-subformat.patch 
  0023-aplay-allow-to-compile-with-older-alsa-lib-subformat.patch 
  0024-aplay-log-pcm-status-before-reporting-a-fatal-error.patch 
  0025-aplay-enable-timestamps-by-default.patch 
  0026-aplay-status-dumps-are-called-only-in-verbose-mode.patch 
  0027-aplaymidi-Set-event-completely-for-tempo-event.patch

OBS-URL: https://build.opensuse.org/request/show/1137523
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/alsa-utils?expand=0&rev=210
2024-01-08 12:04:12 +00:00

110 lines
3.3 KiB
Diff

From c08d580b281bd5965585bf09b45ba3a582202931 Mon Sep 17 00:00:00 2001
From: Sam James <sam@gentoo.org>
Date: Thu, 7 Sep 2023 21:24:16 +0100
Subject: [PATCH] nhlt: use stdint.h types
u_int_* aren't standard, but uint* are. Use those instead for musl compat.
Closes: https://github.com/alsa-project/alsa-utils/pull/234
Bug: https://bugs.gentoo.org/913758
Signed-off-by: Sam James <sam@gentoo.org>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
---
nhlt/nhlt-dmic-info.c | 28 ++++++++++++++--------------
1 file changed, 14 insertions(+), 14 deletions(-)
diff --git a/nhlt/nhlt-dmic-info.c b/nhlt/nhlt-dmic-info.c
index 331555a82677..eadf21a11bbc 100644
--- a/nhlt/nhlt-dmic-info.c
+++ b/nhlt/nhlt-dmic-info.c
@@ -46,7 +46,7 @@ int debug = 0;
#define NHLT_EP_HDR_SIZE (4 + 1 + 1 + 2 + 2 + 2 + 4 + 1 + 1 + 1)
#define VENDOR_MIC_CFG_SIZE (1 + 1 + 2 + 2 + 2 + 1 + 1 + 2 + 2 + 2 + 2 + 2 + 2)
-static const char *microphone_type(u_int8_t type)
+static const char *microphone_type(uint8_t type)
{
switch (type) {
case 0: return "omnidirectional";
@@ -60,7 +60,7 @@ static const char *microphone_type(u_int8_t type)
return "unknown";
}
-static const char *microphone_location(u_int8_t location)
+static const char *microphone_location(uint8_t location)
{
switch (location) {
case 0: return "laptop-top-panel";
@@ -74,21 +74,21 @@ static const char *microphone_location(u_int8_t location)
}
-static inline u_int8_t get_u8(u_int8_t *base, u_int32_t off)
+static inline uint8_t get_u8(uint8_t *base, uint32_t off)
{
return *(base + off);
}
-static inline int32_t get_s16le(u_int8_t *base, u_int32_t off)
+static inline int32_t get_s16le(uint8_t *base, uint32_t off)
{
- u_int32_t v = *(base + off + 0) |
+ uint32_t v = *(base + off + 0) |
(*(base + off + 1) << 8);
if (v & 0x8000)
return -((int32_t)0x10000 - (int32_t)v);
return v;
}
-static inline u_int32_t get_u32le(u_int8_t *base, u_int32_t off)
+static inline uint32_t get_u32le(uint8_t *base, uint32_t off)
{
return *(base + off + 0) |
(*(base + off + 1) << 8) |
@@ -138,10 +138,10 @@ static int nhlt_dmic_config(FILE *out, uint8_t *dmic, uint8_t mic)
return 0;
}
-static int nhlt_dmic_ep_to_json(FILE *out, uint8_t *ep, u_int32_t ep_size)
+static int nhlt_dmic_ep_to_json(FILE *out, uint8_t *ep, uint32_t ep_size)
{
- u_int32_t off, specific_cfg_size;
- u_int8_t config_type, array_type, mic, num_mics;
+ uint32_t off, specific_cfg_size;
+ uint8_t config_type, array_type, mic, num_mics;
int res;
off = NHLT_EP_HDR_SIZE;
@@ -182,15 +182,15 @@ oob:
return -EINVAL;
}
-static int nhlt_table_to_json(FILE *out, u_int8_t *nhlt, u_int32_t size)
+static int nhlt_table_to_json(FILE *out, uint8_t *nhlt, uint32_t size)
{
- u_int32_t _size, off, ep_size;
- u_int8_t sum = 0, ep, ep_count, link_type, dmics = 0;
+ uint32_t _size, off, ep_size;
+ uint8_t sum = 0, ep, ep_count, link_type, dmics = 0;
int res;
_size = get_u32le(nhlt, 4);
if (_size != size) {
- fprintf(stderr, "Table size mismatch (%08x != %08x)\n", _size, (u_int32_t)size);
+ fprintf(stderr, "Table size mismatch (%08x != %08x)\n", _size, (uint32_t)size);
return -EINVAL;
}
for (off = 0; off < size; off++)
@@ -232,7 +232,7 @@ oob:
static int nhlt_to_json(FILE *out, const char *nhlt_file)
{
struct stat st;
- u_int8_t *buf;
+ uint8_t *buf;
int _errno, fd, res;
size_t pos, size;
ssize_t ret;
--
2.35.3