forked from pool/paho-mqtt-c
73 lines
2.4 KiB
Diff
73 lines
2.4 KiB
Diff
|
From bba72469721fd3c7628fda61e3081f802fe73907 Mon Sep 17 00:00:00 2001
|
||
|
From: Ian Craggs <icraggs@gmail.com>
|
||
|
Date: Mon, 17 Feb 2025 18:51:13 +0000
|
||
|
Subject: [PATCH] Ensure argument for isprint and isxdigit is in the correct
|
||
|
range #1565
|
||
|
|
||
|
---
|
||
|
src/MQTTPacket.c | 4 ++--
|
||
|
src/MQTTVersion.c | 4 ++--
|
||
|
src/Proxy.c | 4 ++--
|
||
|
3 files changed, 6 insertions(+), 6 deletions(-)
|
||
|
|
||
|
diff --git a/src/MQTTPacket.c b/src/MQTTPacket.c
|
||
|
index 40cb4d415..a67c92041 100644
|
||
|
--- a/src/MQTTPacket.c
|
||
|
+++ b/src/MQTTPacket.c
|
||
|
@@ -1,5 +1,5 @@
|
||
|
/*******************************************************************************
|
||
|
- * Copyright (c) 2009, 2024 IBM Corp. and Ian Craggs
|
||
|
+ * Copyright (c) 2009, 2025 IBM Corp. and Ian Craggs
|
||
|
*
|
||
|
* All rights reserved. This program and the accompanying materials
|
||
|
* are made available under the terms of the Eclipse Public License v2.0
|
||
|
@@ -860,7 +860,7 @@ int MQTTPacket_formatPayload(int buflen, char* buf, int payloadlen, char* payloa
|
||
|
|
||
|
for (i = 0; i < payloadlen; i++)
|
||
|
{
|
||
|
- if (isprint(payload[i]))
|
||
|
+ if (isprint((unsigned char)payload[i]))
|
||
|
{
|
||
|
if (pos >= buflen)
|
||
|
break;
|
||
|
diff --git a/src/MQTTVersion.c b/src/MQTTVersion.c
|
||
|
index 92cd020c1..bba9708de 100644
|
||
|
--- a/src/MQTTVersion.c
|
||
|
+++ b/src/MQTTVersion.c
|
||
|
@@ -1,5 +1,5 @@
|
||
|
/*******************************************************************************
|
||
|
- * Copyright (c) 2012, 2020 IBM Corp.
|
||
|
+ * Copyright (c) 2012, 2025 IBM Corp.
|
||
|
*
|
||
|
* All rights reserved. This program and the accompanying materials
|
||
|
* are made available under the terms of the Eclipse Public License v2.0
|
||
|
@@ -96,7 +96,7 @@ char* FindString(char* filename, const char* eyecatcher_input)
|
||
|
char* ptr = value;
|
||
|
c = fgetc(infile); /* skip space */
|
||
|
c = fgetc(infile);
|
||
|
- while (isprint(c))
|
||
|
+ while (isprint((unsigned char)c))
|
||
|
{
|
||
|
*ptr++ = c;
|
||
|
c = fgetc(infile);
|
||
|
diff --git a/src/Proxy.c b/src/Proxy.c
|
||
|
index bb9ad6826..60769f59b 100644
|
||
|
--- a/src/Proxy.c
|
||
|
+++ b/src/Proxy.c
|
||
|
@@ -272,7 +272,7 @@ void Proxy_specialChars(char* p0, char* p1, b64_size_t *basic_auth_in_len)
|
||
|
{
|
||
|
*p0++ = *p1++;
|
||
|
}
|
||
|
- else if (isxdigit(*(p1 + 1)) && isxdigit(*(p1 + 2)))
|
||
|
+ else if (isxdigit((unsigned char)*(p1 + 1)) && isxdigit((unsigned char)*(p1 + 2)))
|
||
|
{
|
||
|
/* next 2 characters are hexa digits */
|
||
|
char hex[3];
|
||
|
@@ -350,4 +350,4 @@ int Proxy_setHTTPProxy(Clients* aClient, char* source, char** dest, char** auth_
|
||
|
}
|
||
|
exit:
|
||
|
return rc;
|
||
|
-}
|
||
|
\ No newline at end of file
|
||
|
+}
|