[kdevelop] [Bug 358454] Crash when importing cmake tests if test arguments contain )

2016-02-14 Thread Milian Wolff via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=358454

Milian Wolff  changed:

   What|Removed |Added

  Latest Commit||http://commits.kde.org/kdev
   ||elop/45a9d54799192a693e0713
   ||26a8766450f5765e82
 Status|CONFIRMED   |RESOLVED
 Resolution|--- |FIXED

--- Comment #2 from Milian Wolff  ---
Git commit 45a9d54799192a693e071326a8766450f5765e82 by Milian Wolff, on behalf
of Andrew Coles.
Committed on 14/02/2016 at 16:53.
Pushed by mwolff into branch '5.0'.

Fix crash when importing cmake tests whose arguments contain ')'

In projectmanagers/cmake/cmakeimportjsonjob.cpp, there's a regular expression
that matches 'add_test' lines from CTestTestfile.cmake files, but it stops
reading at the first ) character:

`const QRegularExpression rx("add_test *\\((.+?) (.*?)\\)");`

If the argument list for the add_test line contains brackets, for instance:

add_test(some-test "/some/path" "(foo)" "bar")

...then this causes a segfault a few lines further down - the second rx capture
is not a well-formed argument list.

This patch changes the regexp to only stop when ) is at the end of the line:

`const QRegularExpression rx("add_test *\\((.+?) (.*?)\\) *$");`

It also allows for spaces between the ')' and the end of the line, to be
consistent with allowing extra spacing earlier on after add_test.  I'm not sure
if this matters in practice but is harmless enough.

REVIEW: 126931

>From f45971369c78cc88b03a9b11067fa28f65b84ce2 Mon Sep 17 00:00:00 2001
From: Andrew Coles 
Date: Wed, 3 Feb 2016 10:52:18 +
Subject: [PATCH] Bug fix, and unit test - no longer crash if test arguments
 contain parentheses

M  +6-0projectmanagers/cmake/CMakeLists.txt
M  +1-1projectmanagers/cmake/cmakeimportjsonjob.cpp
M  +1-1projectmanagers/cmake/tests/CMakeLists.txt
A  +5-0   
projectmanagers/cmake/tests/manual/parentheses_in_test_arguments/CMakeLists.txt
A  +2-0   
projectmanagers/cmake/tests/manual/parentheses_in_test_arguments/main.cpp
[License: UNKNOWN]  *
A  +3-0   
projectmanagers/cmake/tests/manual/parentheses_in_test_arguments/parentheses_in_test_arguments.kdev4
M  +13   -0projectmanagers/cmake/tests/test_cmakemanager.cpp
M  +1-0projectmanagers/cmake/tests/test_cmakemanager.h

The files marked with a * at the end have a non valid license. Please read:
http://techbase.kde.org/Policies/Licensing_Policy and use the headers which are
listed at that page.


http://commits.kde.org/kdevelop/45a9d54799192a693e071326a8766450f5765e82

-- 
You are receiving this mail because:
You are watching all bug changes.


[kdevelop] [Bug 358454] Crash when importing cmake tests if test arguments contain )

2016-02-02 Thread Kevin Funk via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=358454

Kevin Funk  changed:

   What|Removed |Added

 Status|UNCONFIRMED |CONFIRMED
 Ever confirmed|0   |1

--- Comment #1 from Kevin Funk  ---
Patch at: https://git.reviewboard.kde.org/r/126931/

-- 
You are receiving this mail because:
You are watching all bug changes.


[kdevelop] [Bug 358454] Crash when importing cmake tests if test arguments contain )

2016-02-02 Thread Kevin Funk via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=358454

Kevin Funk  changed:

   What|Removed |Added

   Keywords||release_blocker
 CC||kf...@kde.org
   Target Milestone|--- |5.0.0

-- 
You are receiving this mail because:
You are watching all bug changes.