Skip to content
This repository was archived by the owner on Aug 5, 2022. It is now read-only.

Commit 2f3f28e

Browse files
committed
vasprintf fails by returning -1
int vasprintf(char **strp, const char *fmt, va_list ap) return -1 on failure, not by setting strp to NULL. Replace check for NULL by checking for -1 return. Signed-off-by: Kevin Rocard <kevinx.rocard@intel.com>
1 parent 7bae0ea commit 2f3f28e

File tree

2 files changed

+18
-16
lines changed

2 files changed

+18
-16
lines changed

parameter/Element.cpp

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -56,13 +56,13 @@ void CElement::log_info(const string& strMessage, ...) const
5656

5757
va_start(listPointer, strMessage);
5858

59-
vasprintf(&pacBuffer, strMessage.c_str(), listPointer);
59+
if (vasprintf(&pacBuffer, strMessage.c_str(), listPointer) == -1) {
60+
return doLog(true, "Unable to format info log: " + strMessage);
61+
}
6062

6163
va_end(listPointer);
6264

63-
if (pacBuffer != NULL) {
64-
doLog(false, pacBuffer);
65-
}
65+
doLog(false, pacBuffer);
6666

6767
free(pacBuffer);
6868
}
@@ -74,13 +74,13 @@ void CElement::log_warning(const string& strMessage, ...) const
7474

7575
va_start(listPointer, strMessage);
7676

77-
vasprintf(&pacBuffer, strMessage.c_str(), listPointer);
77+
if (vasprintf(&pacBuffer, strMessage.c_str(), listPointer) == -1) {
78+
return doLog(true, "Unable to format warning: " + strMessage);
79+
}
7880

7981
va_end(listPointer);
8082

81-
if (pacBuffer != NULL) {
82-
doLog(true, pacBuffer);
83-
}
83+
doLog(true, pacBuffer);
8484

8585
free(pacBuffer);
8686
}

parameter/SubsystemObject.cpp

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -220,13 +220,14 @@ void CSubsystemObject::log_info(const string& strMessage, ...) const
220220

221221
va_start(listPointer, strMessage);
222222

223-
vasprintf(&pacBuffer, strMessage.c_str(), listPointer);
223+
if (vasprintf(&pacBuffer, strMessage.c_str(), listPointer) == -1) {
224+
return _pInstanceConfigurableElement->log_warning(
225+
"Unable to format warning: " + strMessage);
226+
}
224227

225228
va_end(listPointer);
226229

227-
if (pacBuffer != NULL) {
228-
_pInstanceConfigurableElement->log_info(pacBuffer);
229-
}
230+
_pInstanceConfigurableElement->log_info(pacBuffer);
230231

231232
free(pacBuffer);
232233
}
@@ -238,13 +239,14 @@ void CSubsystemObject::log_warning(const string& strMessage, ...) const
238239

239240
va_start(listPointer, strMessage);
240241

241-
vasprintf(&pacBuffer, strMessage.c_str(), listPointer);
242+
if (vasprintf(&pacBuffer, strMessage.c_str(), listPointer) == -1) {
243+
return _pInstanceConfigurableElement->log_warning(
244+
"Unable to format warning: " + strMessage);
245+
}
242246

243247
va_end(listPointer);
244248

245-
if (pacBuffer != NULL) {
246-
_pInstanceConfigurableElement->log_warning(pacBuffer);
247-
}
249+
_pInstanceConfigurableElement->log_warning(pacBuffer);
248250

249251
free(pacBuffer);
250252
}

0 commit comments

Comments
 (0)