aboutsummaryrefslogtreecommitdiff
path: root/nx-X11
diff options
context:
space:
mode:
authorAlan Coopersmith <alan.coopersmith@oracle.com>2010-06-04 13:20:17 -0700
committerUlrich Sibiller <uli42@gmx.de>2016-10-19 21:40:24 +0200
commit8ff526111bfc6ca8d2384c4d4962b8e8ff3621f9 (patch)
treeabd449965d42788af9fcfcc6baf1542a6ed67bf2 /nx-X11
parent93b55eeec022007d638c0a3b305765d44d3cd185 (diff)
downloadnx-libs-8ff526111bfc6ca8d2384c4d4962b8e8ff3621f9.tar.gz
nx-libs-8ff526111bfc6ca8d2384c4d4962b8e8ff3621f9.tar.bz2
nx-libs-8ff526111bfc6ca8d2384c4d4962b8e8ff3621f9.zip
LINEAR_RGB_InitSCCData: When malloc fails, don't try to free unallocated bits
One of the malloc failure checks had a goto to the wrong spot in the list of cleanup free() calls to unwind at the end, and was freeing bits that hadn't been initialized/allocated yet, since they would be stored in the struct that just failed to be allocated. Error: Null pointer dereference (CWE 476) Read from pointer that could be constant 'NULL' at line 805 of /export/alanc/X.Org/sx86/lib/libX11/nx-X11/lib/X11/LRGB.c in function 'LINEAR_RGB_InitSCCData'. Pointer checked against constant 'NULL' at line 754 but does not protect the dereference. [ This bug was found by the Parfait bug checking tool. For more information see http://research.sun.com/projects/parfait ] Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> Backported-to-NX-by: Ulrich Sibiller <uli42@gmx.de>
Diffstat (limited to 'nx-X11')
-rw-r--r--nx-X11/lib/X11/LRGB.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/nx-X11/lib/X11/LRGB.c b/nx-X11/lib/X11/LRGB.c
index dbdddb457..bc1bfd92b 100644
--- a/nx-X11/lib/X11/LRGB.c
+++ b/nx-X11/lib/X11/LRGB.c
@@ -753,7 +753,7 @@ LINEAR_RGB_InitSCCData(
/* Blue Intensity Table */
if (!(pScreenData->pBlueTbl = (IntensityTbl *)
Xcalloc (1, sizeof(IntensityTbl)))) {
- goto FreeBlueTblElements;
+ goto FreeGreenTblElements;
}
if (_XcmsGetTableType1(pScreenData->pBlueTbl, format_return, &pChar,
&nitems) == XcmsFailure) {