diff -up sblim-wbemcli-1.6.3/CimCurl.cpp.orig sblim-wbemcli-1.6.3/CimCurl.cpp --- sblim-wbemcli-1.6.3/CimCurl.cpp.orig 2019-08-27 14:18:53.329846123 +0200 +++ sblim-wbemcli-1.6.3/CimCurl.cpp 2019-08-27 14:18:53.332846130 +0200 @@ -369,6 +369,7 @@ void CimomCurl::setClientCertificates(co } else if (cacert) { FILE *fp; if ((fp = fopen(cacert, "r"))) { + fclose(fp); if ((rv=curl_easy_setopt(mHandle,CURLOPT_SSL_VERIFYPEER,1))) { cerr << getErrorMessage(rv) << endl; throw HttpException("Could not enable peer verification."); @@ -377,7 +378,6 @@ void CimomCurl::setClientCertificates(co cerr << getErrorMessage(rv) << endl; throw HttpException("Could not load CA certificate."); } - fclose(fp); } else { throw HttpException( string("Could not open CA certificate file: ") + string(cacert) diff -up sblim-wbemcli-1.6.3/CimXml.cpp.orig sblim-wbemcli-1.6.3/CimXml.cpp --- sblim-wbemcli-1.6.3/CimXml.cpp.orig 2014-10-13 18:05:30.000000000 +0200 +++ sblim-wbemcli-1.6.3/CimXml.cpp 2019-08-27 14:32:20.068589450 +0200 @@ -159,7 +159,7 @@ int XmlBuffer::skipElement(const char *t cerr<<"--- XmlBuffer::skipElement(\""<"); char *e=strstr(cur,eTag); if (e) { @@ -451,7 +451,7 @@ AVPs::AVPs(char *s, PropertyArray &prop) AVPs::AVPs(char *s, ParameterArray ¶m) { - char *n, *t, *u, *v, *w; + char *n, *t, *u, *v; int i,k,j,l; bool name = false; bool addAValue = false; @@ -856,8 +856,6 @@ IMethodresponseXml::IMethodresponseXml(X if (irv->getReturnData() == NULL) { /* OpenWBEM support */ throw NoReturnValue(); - delete irv; - irv=NULL; } if (xb.endTag("IMETHODRESPONSE")) return; else throw ParseException("Expecting tag(2)"); @@ -877,8 +875,6 @@ IMethodresponseXml::IMethodresponseXml(X } */ else if (xb.endTag("IMETHODRESPONSE")) { throw NoReturnValue(); - irv=NULL; - return; } /* else throw ParseException("Expecting tag(1)"); } @@ -934,8 +930,6 @@ MethodresponseXml::MethodresponseXml(Xml } */ else if (xb.endTag("METHODRESPONSE")) { throw NoReturnValue(); - rvl=NULL; - return; } /* else throw ParseException("Expecting tag(1)"); } @@ -2950,7 +2944,7 @@ char *strndup(char *f, int n) { URL::URL(const char *U) { - int pint,indir=0; + int indir=0; char *p,*q,*phelp,*np,*last,*un,*b,*h,*z; char *origu, *u; u = origu = strdup(U); @@ -3061,7 +3055,7 @@ URL::URL(const char *U) zone_id = -1; } - pint=strtol(port.c_str(),&np,10); + (void) strtol(port.c_str(),&np,10); if (*np) throw URLException("Invalid port number"); if (!phelp || strlen(phelp+1) == 0) { @@ -3168,9 +3162,11 @@ int URL::getNetDeviceNum(string devName) while (2 == fscanf(fp, scnfmt.c_str(), &dev_num, dev_name)) { if (strcmp(devName.c_str(), dev_name) == 0) { /* match */ + fclose(fp); return dev_num; } } + fclose(fp); return -1; // zone id not found in interfaces table #endif }