Skip to content

Commit a182398

Browse files
committed
fix: improve guard conditions and parameter validation
- Add stricter serverId validation in client message handling - Enhance initialize method parameter validation to handle id=0 correctly - Remove duplicate serverId guard condition
1 parent 457f866 commit a182398

File tree

2 files changed

+7
-4
lines changed

2 files changed

+7
-4
lines changed

src/client/mcp-client.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -394,9 +394,7 @@ export class McpMqttClient extends EventEmitter {
394394
if (parts.length < 4) return
395395

396396
const serverId = parts[2]
397-
if (!serverId) return // Guard against undefined serverId
398-
399-
// const serverName = parts.slice(3).join('/') // Reconstruct hierarchical server name
397+
if (!serverId) return
400398

401399
if (!message.trim()) {
402400
// Empty message means server went offline

src/server/mcp-server.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -317,7 +317,12 @@ export class McpMqttServer extends EventEmitter {
317317
private async handleControlMessage(message: string, clientId?: string): Promise<void> {
318318
const parsedMessage = JSON.parse(message)
319319

320-
if (parsedMessage.method === 'initialize' && parsedMessage.id && clientId) {
320+
if (
321+
parsedMessage.method === 'initialize' &&
322+
parsedMessage.id !== undefined &&
323+
parsedMessage.id !== null &&
324+
clientId
325+
) {
321326
const request = parsedMessage as InitializeRequest
322327
const response = await this.handleInitialize(request, clientId)
323328

0 commit comments

Comments
 (0)