[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-trivial] [PATCH for 2.10 v2 17/20] bt-sdp: fix memory leak in sdp_
From: |
Philippe Mathieu-Daudé |
Subject: |
[Qemu-trivial] [PATCH for 2.10 v2 17/20] bt-sdp: fix memory leak in sdp_service_record_build() |
Date: |
Wed, 26 Jul 2017 23:42:21 -0300 |
hw/bt/sdp.c:753:5: warning: Potential leak of memory pointed to by 'data'
qsort(record->attribute_list, record->attributes,
^~~~~
Reported-by: Clang Static Analyzer
Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
---
hw/bt/*:
get_maintainer.pl: No maintainers found
hw/bt/sdp.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/hw/bt/sdp.c b/hw/bt/sdp.c
index f67b3b89c0..7b2186e1f4 100644
--- a/hw/bt/sdp.c
+++ b/hw/bt/sdp.c
@@ -711,7 +711,7 @@ static void sdp_service_record_build(struct
sdp_service_record_s *record,
struct sdp_def_service_s *def, int handle)
{
int len = 0;
- uint8_t *data;
+ uint8_t *buf, *data;
int *uuid;
record->uuids = 0;
@@ -725,7 +725,8 @@ static void sdp_service_record_build(struct
sdp_service_record_s *record,
g_malloc0(record->attributes * sizeof(*record->attribute_list));
record->uuid =
g_malloc0(record->uuids * sizeof(*record->uuid));
- data = g_malloc(len);
+ buf = g_malloc(len);
+ data = buf;
record->attributes = 0;
uuid = record->uuid;
@@ -748,6 +749,7 @@ static void sdp_service_record_build(struct
sdp_service_record_s *record,
record->attribute_list[record->attributes ++].len = len;
data += len;
}
+ g_free(buf);
/* Sort the attribute list by the AttributeID */
qsort(record->attribute_list, record->attributes,
--
2.13.3
- [Qemu-trivial] [PATCH for 2.10 v2 09/20] vfio/pci: fix use of freed memory, (continued)
- [Qemu-trivial] [PATCH for 2.10 v2 09/20] vfio/pci: fix use of freed memory, Philippe Mathieu-Daudé, 2017/07/26
- [Qemu-trivial] [PATCH for 2.10 v2 10/20] m68k/translate: fix incorrect copy/paste, Philippe Mathieu-Daudé, 2017/07/26
- [Qemu-trivial] [PATCH for 2.10 v2 11/20] linux-user/sh4: fix incorrect memory write, Philippe Mathieu-Daudé, 2017/07/26
- [Qemu-trivial] [PATCH for 2.10 v2 12/20] syscall: fix dereference of undefined pointer, Philippe Mathieu-Daudé, 2017/07/26
- [Qemu-trivial] [PATCH for 2.10 v2 13/20] syscall: fix use of uninitialized values, Philippe Mathieu-Daudé, 2017/07/26
- [Qemu-trivial] [PATCH for 2.10 v2 14/20] syscall: check inotify() and eventfd() return value, Philippe Mathieu-Daudé, 2017/07/26
- [Qemu-trivial] [PATCH for 2.10 v2 15/20] thunk: assert nb_fields is valid, Philippe Mathieu-Daudé, 2017/07/26
- [Qemu-trivial] [PATCH for 2.10 v2 17/20] bt-sdp: fix memory leak in sdp_service_record_build(),
Philippe Mathieu-Daudé <=
- [Qemu-trivial] [PATCH for 2.10 v2 18/20] 9pfs: avoid sign conversion error simplifying the code, Philippe Mathieu-Daudé, 2017/07/26
- [Qemu-trivial] [PATCH for 2.10 v2 19/20] spapr_vio: fix overflow of qdevs in spapr_dt_vdevice(), Philippe Mathieu-Daudé, 2017/07/26
- [Qemu-trivial] [PATCH for 2.10 v2 20/20] i2c/exynos4210: fix write to I2CADD register, bit 0 is not mapped, Philippe Mathieu-Daudé, 2017/07/26