Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-12-SP4:Update
bluez
tools-Fix-memory-leak.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File tools-Fix-memory-leak.patch of Package bluez
From f25df405f2e7f883c500d078767c97a73725a656 Mon Sep 17 00:00:00 2001 From: Andrei Emeltchenko <andrei.emeltchenko@intel.com> Date: Fri, 1 Aug 2014 14:26:09 +0300 Subject: [PATCH] tools: Fix memory leak lmpver and hciver are allocated through malloc and need to be freed. --- tools/parser/hci.c | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/tools/parser/hci.c b/tools/parser/hci.c index 351f843cc..cd52cb53c 100644 --- a/tools/parser/hci.c +++ b/tools/parser/hci.c @@ -2445,17 +2445,25 @@ static inline void read_local_version_dump(int level, struct frame *frm) p_indent(level, frm); printf("Error: %s\n", status2str(rp->status)); } else { + char *lmpver = lmp_vertostr(rp->lmp_ver); + char *hciver = hci_vertostr(rp->hci_ver); + p_indent(level, frm); printf("HCI Version: %s (0x%x) HCI Revision: 0x%x\n", - hci_vertostr(rp->hci_ver), + hciver ? hciver : "n/a", rp->hci_ver, btohs(rp->hci_rev)); p_indent(level, frm); printf("LMP Version: %s (0x%x) LMP Subversion: 0x%x\n", - lmp_vertostr(rp->lmp_ver), + lmpver ? lmpver : "n/a", rp->lmp_ver, btohs(rp->lmp_subver)); p_indent(level, frm); printf("Manufacturer: %s (%d)\n", bt_compidtostr(manufacturer), manufacturer); + + if (lmpver) + free(lmpver); + if (hciver) + free(hciver); } } @@ -3178,13 +3186,18 @@ static inline void read_remote_version_complete_dump(int level, struct frame *fr p_indent(level, frm); printf("Error: %s\n", status2str(evt->status)); } else { + char *lmpver = lmp_vertostr(evt->lmp_ver); + p_indent(level, frm); printf("LMP Version: %s (0x%x) LMP Subversion: 0x%x\n", - lmp_vertostr(evt->lmp_ver), evt->lmp_ver, + lmpver ? lmpver : "n/a", evt->lmp_ver, btohs(evt->lmp_subver)); p_indent(level, frm); printf("Manufacturer: %s (%d)\n", bt_compidtostr(manufacturer), manufacturer); + + if (lmpver) + free(lmpver); } } -- 2.35.3
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor