hc
2023-11-20 2e7bd41e4e8ab3d1efdabd9e263a2f7fe79bff8c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
From 64045f993c2cd8989838aeaad3d22107d96d5596 Mon Sep 17 00:00:00 2001
From: Stephen Warren <swarren@nvidia.com>
Date: Thu, 28 Jul 2016 11:37:45 -0600
Subject: [PATCH] bct_dump: don't crash on devices without RSA support
 
format_rsa_param() currently crashes on chips that don't implement
soc_config->get_value_size(); that is, on all chips before T124. Fix the
function not to crash. Better might be to avoid even dumping RSA
parameters on chips which don't support RSA, but that's a larger change
that needs much more work.
 
Fixes: 3c3b992a6814 ("Add support to dump rsa related fields for t210")
Cc: Jimmy Zhang <jimmzhang@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Misha Komarovskiy <zombah@gmail.com>
---
 src/bct_dump.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)
 
diff --git a/src/bct_dump.c b/src/bct_dump.c
index 4f50fa2..b4ca9fc 100644
--- a/src/bct_dump.c
+++ b/src/bct_dump.c
@@ -133,10 +133,14 @@ static void format_rsa_param(parse_token id, char const * message, void * data)
 {
 #define MAX_BYTE_NUMBER_PER_LINE    16
     u_int8_t *rsa = (u_int8_t *)data;
-    int size = g_soc_config->get_value_size(id);
-    int byte_index;
+    int size, byte_index;
 
     printf("%s", message);
+
+    if (!g_soc_config->get_value_size)
+        return;
+
+    size = g_soc_config->get_value_size(id);
     for (byte_index = 0; byte_index < size; ++byte_index) {
         printf(" %02x", *rsa++);
 
-- 
2.1.4