Add upstream commit to fix a crash in devel/qtcreator.

PR:		197079
Submitted by:	Alex Richardson <arichardson.kde@gmail.com>
This commit is contained in:
Raphael Kubo da Costa 2015-01-29 02:11:00 +00:00
parent 024e852a6d
commit 48f147ecf1
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=378099
2 changed files with 27 additions and 0 deletions

View file

@ -2,6 +2,7 @@
PORTNAME= qml
DISTVERSION= ${QT5_VERSION}
PORTREVISION= 1
CATEGORIES= lang
PKGNAMEPREFIX= qt5-

View file

@ -0,0 +1,26 @@
commit cf6e97119df5bf17b4a952b257d05d43b7d6ca26
Author: Alex Richardson <arichardson.kde@gmail.com>
Date: Wed Jan 21 09:10:01 2015 +0000
Don't crash on FreeBSD when computing stack limits
On FreeBSD pthread_attr_t is a pointer and is dereferenced when calling
pthread_attr_get_np() so if we don't initialize it will probably crash.
This is not a problem on glibc systems since there pthread_attr_t is an
opaque union an doesn't need to be allocated using malloc().
Change-Id: I227685ddf9981974ade08aee8917f7262c301787
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
--- src/qml/jsruntime/qv4engine.cpp
+++ src/qml/jsruntime/qv4engine.cpp
@@ -112,7 +112,8 @@ quintptr getStackLimit()
void* stackBottom = 0;
pthread_attr_t attr;
#if HAVE(PTHREAD_NP_H) && OS(FREEBSD)
- if (pthread_attr_get_np(pthread_self(), &attr) == 0) {
+ // on FreeBSD pthread_attr_init() must be called otherwise getting the attrs crashes
+ if (pthread_attr_init(&attr) == 0 && pthread_attr_get_np(pthread_self(), &attr) == 0) {
#else
if (pthread_getattr_np(pthread_self(), &attr) == 0) {
#endif