blob: 9c969fa75a2514503b00fb65442a88a94d6a6117 [file]
From 610dd1f2e5ff499ae025d84136f2bff364fbfc09 Mon Sep 17 00:00:00 2001
From: Muhammad Usama <muhammadusama@google.com>
Date: Tue, 21 Apr 2026 21:08:06 +0000
Subject: [PATCH] libpldm: Increase allowed length of dev name
Google-Bug-Id: 502983911
Signed-off-by: Muhammad Usama <muhammadusama@google.com>
---
include/libpldm/requester/pldm_base_requester.h | 1 +
include/libpldm/requester/pldm_platform_requester.h | 2 +-
include/libpldm/requester/pldm_rde_requester.h | 2 +-
src/requester/pldm_platform_requester.c | 5 +++++
src/requester/pldm_rde_requester.c | 2 +-
5 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/include/libpldm/requester/pldm_base_requester.h b/include/libpldm/requester/pldm_base_requester.h
index 49c4846..6d556bc 100644
--- a/include/libpldm/requester/pldm_base_requester.h
+++ b/include/libpldm/requester/pldm_base_requester.h
@@ -11,6 +11,7 @@ extern "C" {
#define PLDM_TYPES 6
#define MAX_DEV_NAME_SIZE 32
+#define PLDM_MAX_DEV_NAME_LEN 15
typedef enum requester_return_codes {
PLDM_BASE_REQUESTER_SUCCESS = 0,
diff --git a/include/libpldm/requester/pldm_platform_requester.h b/include/libpldm/requester/pldm_platform_requester.h
index dc83a83..fd8d671 100644
--- a/include/libpldm/requester/pldm_platform_requester.h
+++ b/include/libpldm/requester/pldm_platform_requester.h
@@ -46,7 +46,7 @@ struct pldm_platform_requester_context {
uint8_t requester_status;
void *operation_ctx;
- char device_name[8];
+ char device_name[PLDM_MAX_DEV_NAME_LEN + 1];
int net_id;
uint32_t negotiated_transfer_size;
};
diff --git a/include/libpldm/requester/pldm_rde_requester.h b/include/libpldm/requester/pldm_rde_requester.h
index 1e37c0a..2ed8164 100644
--- a/include/libpldm/requester/pldm_rde_requester.h
+++ b/include/libpldm/requester/pldm_rde_requester.h
@@ -195,7 +195,7 @@ struct pldm_rde_requester_context {
struct pldm_rde_requester_manager {
bool initialized;
uint8_t n_ctx;
- char device_name[8];
+ char device_name[PLDM_MAX_DEV_NAME_LEN + 1];
int net_id;
uint8_t mc_concurrency;
diff --git a/src/requester/pldm_platform_requester.c b/src/requester/pldm_platform_requester.c
index fef4e9a..8832b91 100644
--- a/src/requester/pldm_platform_requester.c
+++ b/src/requester/pldm_platform_requester.c
@@ -19,6 +19,11 @@ pldm_platform_requester_rc_t pldm_platform_init_context(
ctx->initialized = true;
ctx->requester_status = PLDM_PLATFORM_REQUESTER_NO_PENDING_ACTION;
+ if ((device_id == NULL) || (strlen(device_id) == 0) ||
+ (strlen(device_id) > PLDM_MAX_DEV_NAME_LEN)) {
+ fprintf(stderr, "Incorrect device id provided\n");
+ return PLDM_PLATFORM_CONTEXT_INITIALIZATION_ERROR;
+ }
strcpy(ctx->device_name, device_id);
ctx->net_id = net_id;
ctx->negotiated_transfer_size = negotiated_transfer_size;
diff --git a/src/requester/pldm_rde_requester.c b/src/requester/pldm_rde_requester.c
index cdc7f07..dffec30 100644
--- a/src/requester/pldm_rde_requester.c
+++ b/src/requester/pldm_rde_requester.c
@@ -38,7 +38,7 @@ pldm_rde_init_context(const char *device_id, int net_id,
}
if ((device_id == NULL) || (strlen(device_id) == 0) ||
- (strlen(device_id) > 8)) {
+ (strlen(device_id) > PLDM_MAX_DEV_NAME_LEN)) {
fprintf(stderr, "Incorrect device id provided\n");
return PLDM_RDE_CONTEXT_INITIALIZATION_ERROR;
}
--
2.54.0.rc2.533.g4f5dca5207-goog