File Fix-wrong-comparison-if-there-are-no-descriptors.patch of Package k3b-kde4

From d50a0c30b582aa2fc5cfccea4b87a70adc2d5d81 Mon Sep 17 00:00:00 2001
From: Leslie Zhai <lesliezhai@llvm.org.cn>
Date: Mon, 14 Aug 2017 16:21:18 +0800
Subject: [PATCH] Fix wrong comparison if there are no descriptors.

A patch by Thomas Schmitt!

Testplan by Mark: cdrskin -V dev=/dev/sr0 2>&1 >/tmp/cdrskin_scsi_log

CCBUG: 382941
---
 libk3bdevice/k3bdevice.cpp | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

diff --git a/libk3bdevice/k3bdevice.cpp b/libk3bdevice/k3bdevice.cpp
index f53164220..e256564fc 100644
--- a/libk3bdevice/k3bdevice.cpp
+++ b/libk3bdevice/k3bdevice.cpp
@@ -3228,11 +3228,11 @@ QList<int> K3b::Device::Device::determineSupportedWriteSpeeds() const
 
 bool K3b::Device::Device::getSupportedWriteSpeedsVia2A( QList<int>& list, MediaType mediaType ) const
 {
-    UByteArray data;
+    UByteArray/* QVarLengthArray<unsigned char> */ data;
     if( modeSense( data, 0x2A ) ) {
         mm_cap_page_2A* mm = (mm_cap_page_2A*)&data[8];
 
-        if( data.size() > 32 ) {
+        if( data.size() > 32 + 8 /* pageLen? */ ) {
             // we have descriptors
             unsigned int numDesc = from2Byte( mm->num_wr_speed_des );
 
-- 
GitLab

openSUSE Build Service is sponsored by