}
CloudComm::~CloudComm() {
- delete random;
delete getslot;
delete putslot;
+ if (salt)
+ delete salt;
+ if (password)
+ delete password;
+ if (random)
+ delete random;
+ if (baseurl)
+ delete baseurl;
}
/**
try {
timer->startTime();
wc = openURL(urlstr);
+ delete urlstr;
+ urlstr = NULL;
closeURLReq(&wc);
timer->endTime();
} catch (SocketTimeoutException *e) {
+ if (urlstr)
+ delete urlstr;
timer->endTime();
throw new ServerException("getSalt failed", ServerException_TypeConnectTimeout);
} catch (Exception *e) {
+ if (urlstr)
+ delete urlstr;
throw new Error("getSlot failed");
}
throw new Error("putSlot failed");
}
+ Array<char> *resptype = NULL;
try {
int respcode = getResponseCode(&wc);
readHeaders(&wc);
timer->startTime();
- Array<char> *resptype = new Array<char>(7);
+ resptype = new Array<char>(7);
readURLData(&wc, resptype);
timer->endTime();
if (resptype->equals(getslot)) {
+ delete resptype;
Array<Slot *> *tmp = processSlots(&wc);
close(wc.fd);
return tmp;
} else if (resptype->equals(putslot)) {
+ delete resptype;
close(wc.fd);
return NULL;
} else {
+ delete resptype;
close(wc.fd);
throw new Error("Bad response to putslot");
}
} catch (SocketTimeoutException *e) {
+ if (resptype != NULL)
+ delete resptype;
timer->endTime();
close(wc.fd);
throw new ServerException("putSlot failed", ServerException_TypeInputTimeout);
} catch (Exception *e) {
+ if (resptype != NULL)
+ delete resptype;
throw new Error("putSlot failed");
}
}
if (!resptype->equals(getslot))
throw new Error("Bad Response: ");
+ delete resptype;
Array<Slot *> *tmp = processSlots(&wc);
close(wc.fd);
return tmp;
slots->set(i, Slot_decode(table, data, mac));
delete data;
}
+ delete sizesofslots;
return slots;
}