mirror of
https://git.yoctoproject.org/poky
synced 2026-04-13 23:02:30 +02:00
libpciaccess: upgrade to 0.13.1
Removed also the fix_deletion_of_last_handle.patch because the new version includes it. (From OE-Core rev: b5753796e7f8b52e40aed51f4d5c8d329a31265e) Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
7ed241c704
commit
b68e2d6ae2
@@ -1,51 +0,0 @@
|
||||
Upstream-Status: Backport
|
||||
|
||||
The below patch is from
|
||||
http://cgit.freedesktop.org/xorg/lib/libpciaccess/commit/?id=a798395a1bfd9d06d40e2d8d14377a156c94429a
|
||||
It would appear in the next .tar.bz2 release.
|
||||
|
||||
------------------------------
|
||||
|
||||
commit a798395a1bfd9d06d40e2d8d14377a156c94429a
|
||||
Author: Daniel Drake <dsd@laptop.org>
|
||||
Date: Fri Nov 25 12:28:48 2011 -0600
|
||||
|
||||
delete_io_handle: fix deletion of last handle
|
||||
|
||||
When num_ios goes from 1 to 0, a realloc(ios, 0); call is made.
|
||||
This is equivalent to free(ios) and NULL is returned.
|
||||
|
||||
However, the previous logic in the code incorrectly discards this NULL
|
||||
return value. When we next call new_io_handle(), realloc(ios, X) is
|
||||
called with "ios" pointing to freed memory. This causes glibc to abort.
|
||||
|
||||
Correct this logic to detect the 1-to-0 case and handle it correctly.
|
||||
Other cases are unchanged; there is still value in checking the
|
||||
return value from realloc() as it also returns NULL on error.
|
||||
|
||||
Signed-off-by: Daniel Drake <dsd@laptop.org>
|
||||
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||
|
||||
diff --git a/src/common_io.c b/src/common_io.c
|
||||
index f1319f8..5b35e07 100644
|
||||
--- a/src/common_io.c
|
||||
+++ b/src/common_io.c
|
||||
@@ -64,10 +64,15 @@ delete_io_handle(struct pci_io_handle *handle)
|
||||
}
|
||||
}
|
||||
|
||||
- new = realloc(ios, sizeof(struct pci_io_handle) * (num_ios - 1));
|
||||
- if (new)
|
||||
- ios = new;
|
||||
num_ios--;
|
||||
+ if (num_ios) {
|
||||
+ new = realloc(ios, sizeof(struct pci_io_handle) * num_ios);
|
||||
+ if (new)
|
||||
+ ios = new;
|
||||
+ } else {
|
||||
+ free(ios);
|
||||
+ ios = NULL;
|
||||
+ }
|
||||
}
|
||||
|
||||
_pci_hidden void
|
||||
@@ -5,8 +5,6 @@ PCI bus and devices in a platform-independent way."
|
||||
|
||||
require xorg-lib-common.inc
|
||||
|
||||
SRC_URI += "file://fix_deletion_of_last_handle.patch"
|
||||
|
||||
LICENSE = "MIT & MIT-style"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=de01cb89a769dc657d4c321c209ce4fc"
|
||||
|
||||
@@ -14,5 +12,5 @@ PR = "r0"
|
||||
|
||||
DEPENDS += "xproto virtual/libx11"
|
||||
|
||||
SRC_URI[md5sum] = "f1db198398a8a1143822acc230843e8c"
|
||||
SRC_URI[sha256sum] = "0861d5bf68b598baa307e5c9b06dfd38ae03096b46e36b236106517bcd14b63a"
|
||||
SRC_URI[md5sum] = "399a419ac6a54f0fc07c69c9bdf452dc"
|
||||
SRC_URI[sha256sum] = "27ab68f645691a4ca258dcc9d131040586e134f9233ce079794496f6264da084"
|
||||
Reference in New Issue
Block a user