On 30/07/2021 18.37, Denis Kenzior wrote:
Hi Slava,

On 7/30/21 7:07 AM, Slava Monich wrote:
---
  src/simfs.c | 17 ++++++++---------
  1 file changed, 8 insertions(+), 9 deletions(-)


Funny how long this bug has been lurking around.


Until we finally had a crash on reading an icon or something out of SIM. Which most SIMs apparently don't have or else it would've been noticed earlier.


diff --git a/src/simfs.c b/src/simfs.c
index 3d4f6283..cf770265 100644
--- a/src/simfs.c
+++ b/src/simfs.c
@@ -383,18 +383,18 @@ static void sim_fs_op_read_block_cb(const struct ofono_error *error,
      }
        start_block = op->offset / 256;
-    end_block = (op->offset + (op->num_bytes - 1)) / 256;
+    end_block = op->num_bytes ? (op->offset + op->num_bytes - 1) / 256 :
+                                start_block;

Curious why this is needed?  op->num_bytes should never be zero since it gets set to the file length?


I admit that it's a bit paranoid, but op->num_bytes is assigned without checking and I figured that it wouldn't hurt to do a check here. Feel free to drop this part if it looks like too much of an overkill to you.


Rest looks good to me.

Regards,
-Denis


Cheers,

-Slava
_______________________________________________
ofono mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to