diff options
Diffstat (limited to 'src/io.c')
-rw-r--r-- | src/io.c | 8 |
1 files changed, 6 insertions, 2 deletions
@@ -33,6 +33,8 @@ #include <xmlsec/io.h> #include <xmlsec/errors.h> +#define ERR_BUF_SIZE 1024 + /******************************************************************* * * Input I/O callback sets @@ -419,6 +421,7 @@ xmlSecTransformInputURIOpen(xmlSecTransformPtr transform, const xmlChar *uri) { } } + char buf[ERR_BUF_SIZE]; if((ctx->clbks == NULL) || (ctx->clbksCtx == NULL)) { xmlSecError(XMLSEC_ERRORS_HERE, xmlSecErrorsSafeString(xmlSecTransformGetName(transform)), @@ -426,7 +429,7 @@ xmlSecTransformInputURIOpen(xmlSecTransformPtr transform, const xmlChar *uri) { XMLSEC_ERRORS_R_IO_FAILED, "uri=%s;error=%s", xmlSecErrorsSafeString(uri), - strerror(errno)); + strerror_r(errno, buf, sizeof(buf))); return(-1); } @@ -519,11 +522,12 @@ xmlSecTransformInputURIPopBin(xmlSecTransformPtr transform, xmlSecByte* data, if((ctx->clbksCtx != NULL) && (ctx->clbks != NULL) && (ctx->clbks->readcallback != NULL)) { ret = (ctx->clbks->readcallback)(ctx->clbksCtx, (char*)data, (int)maxDataSize); if(ret < 0) { + char buf[ERR_BUF_SIZE]; xmlSecError(XMLSEC_ERRORS_HERE, xmlSecErrorsSafeString(xmlSecTransformGetName(transform)), "readcallback", XMLSEC_ERRORS_R_IO_FAILED, - "error=%s", strerror(errno)); + "error=%s", strerror_r(errno, buf, sizeof(buf))); return(-1); } (*dataSize) = ret; |