--- Begin Message ---
- To: Debian Bug Tracking System <submit@bugs.debian.org>
- Subject: unblock: lgogdownloader/3.1-1 (pre-upload request)
- From: Stephen Kitt <skitt@debian.org>
- Date: Sun, 26 Mar 2017 18:59:36 +0200
- Message-id: <149054757699.28319.81516329095160295.reportbug@heffalump.sk2.org>
Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock
Hi,
This is a pre-upload unblock request for lgogdownloader. The version
currently in Stretch (and unstable) has a nasty bug (#857691) which
can make the whole package unusable in certain circumstances —
basically, lgogdownloader crashes with user accounts containing
downloadable content for games that the account doesn't own (which can
happen unfortunately).
Upstream have released a fix for this, and Simon McVittie has pushed
it to the package VCS. The resulting diff, were I to upload the
package to unstable, would be
diff --git a/debian/changelog b/debian/changelog
index bfbc456..9b5a3c4 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,12 @@
+lgogdownloader (3.1-2) unstable; urgency=medium
+
+ [ Simon McVittie ]
+ * Team upload
+ * Backport patch from 3.2 fixing the ability to list games if a game
+ has {'updates': null} (Closes: #857691)
+
+ -- Stephen Kitt <skitt@debian.org> Sun, 26 Mar 2017 18:58:18 +0200
+
lgogdownloader (3.1-1) unstable; urgency=medium
* New upstream release.
diff --git a/debian/patches/Fix-crash-in-Website-getGames.patch b/debian/patches/Fix-crash-in-Website-getGames.patch
new file mode 100644
index 0000000..a689162
--- /dev/null
+++ b/debian/patches/Fix-crash-in-Website-getGames.patch
@@ -0,0 +1,49 @@
+From: Sude <lgogdownloader@gmail.com>
+Date: Fri, 20 Jan 2017 00:15:50 +0200
+Subject: Fix crash in Website::getGames
+
+JSON value for updates can be null in some cases. For example when user owns a dlc but not the base game.
+This caused a crash due to std::stoi throwing std::invalid_argument exception
+
+Origin: upstream, 3.2, commit:22f47de4fcd8cd7ecc2a89fbb25f94efb1b3f743
+---
+ src/website.cpp | 26 +++++++++++++++++++++++++-
+ 1 file changed, 25 insertions(+), 1 deletion(-)
+
+diff --git a/src/website.cpp b/src/website.cpp
+index 0803432..8ca4c8c 100644
+--- a/src/website.cpp
++++ b/src/website.cpp
+@@ -163,7 +163,31 @@ std::vector<gameItem> Website::getGames()
+ gameItem game;
+ game.name = product["slug"].asString();
+ game.id = product["id"].isInt() ? std::to_string(product["id"].asInt()) : product["id"].asString();
+- game.updates = product["updates"].isInt() ? product["updates"].asInt() : std::stoi(product["updates"].asString());
++
++ if (product.isMember("updates"))
++ {
++ if (product["updates"].isNull())
++ {
++ /* In some cases the value can be null.
++ * For example when user owns a dlc but not the base game
++ * https://github.com/Sude-/lgogdownloader/issues/101
++ * Assume that there are no updates in this case */
++ game.updates = 0;
++ }
++ else if (product["updates"].isInt())
++ game.updates = product["updates"].asInt();
++ else
++ {
++ try
++ {
++ game.updates = std::stoi(product["updates"].asString());
++ }
++ catch (std::invalid_argument& e)
++ {
++ game.updates = 0; // Assume no updates
++ }
++ }
++ }
+
+ unsigned int platform = 0;
+ if (product["worksOn"]["Windows"].asBool())
diff --git a/debian/patches/series b/debian/patches/series
index 48af9e8..69eb314 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1 +1,2 @@
+Fix-crash-in-Website-getGames.patch
manpage-whatis.patch
Is this OK?
unblock lgogdownloader/3.1-1
Regards,
Stephen
-- System Information:
Debian Release: 9.0
APT prefers unstable-debug
APT policy: (500, 'unstable-debug'), (500, 'testing'), (500, 'stable'), (200, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 4.9.0-1-amd64 (SMP w/8 CPU cores)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
--- End Message ---
--- Begin Message ---
Stephen Kitt:
> Control: tag -1 - moreinfo
>
> On Wed, 05 Apr 2017 06:38:00 +0000, Niels Thykier <niels@thykier.net> wrote:
>> Stephen Kitt:
>>> unblock lgogdownloader/3.1-2
>>> [...]
>> Ack, please go ahead.
>
> Uploaded, thanks! (And I fixed the version in the unblock above.)
>
> Regards,
>
> Stephen
>
Unblocked, thanks.
~Niels
--- End Message ---