int enc_len;
int len;
- syslog(LOG_DEBUG, "\033[32m--- START WRITE ---\033[0m\n\033[31m%s\033[0m\n\033[32m---- END WRITE ----\033[0m", raw_netconfig);
len = strlen(raw_netconfig);
netcfg_keyname(keyname, roomnum);
enc = malloc(len * 2);
InStr = NewStrBuf();
Cfg = NewStrBufPlain(serialized_data, -1);
- syslog(LOG_DEBUG, "\033[32m--- START READ ---\033[0m");
while (StrBufSipLine(Line, Cfg, &CPos)) {
- syslog(LOG_DEBUG, "READ NET CONFIG LINE: '\033[31m%s\033[0m'", ChrPtr(Line));
if (StrLength(Line) > 0) {
Pos = NULL;
}
}
}
- syslog(LOG_DEBUG, "\033[32m---- END READ ----\033[0m");
FreeStrBuf(&InStr);
FreeStrBuf(&Line);
FreeStrBuf(&Cfg);
return (ERROR + NO_SUCH_USER);
}
found = is_recipient (RNCfg, RemoteIdentifier);
+ FreeRoomNetworkStruct(&RNCfg);
end_critical_section(S_NETCONFIGS);
if (found) {
if (fp) {
fseek(fp, 0L, SEEK_END);
len = ftell(fp);
- v = malloc(len);
- if (v) {
- rewind(fp);
- if (fread(v, len, 1, fp)) {
- write_netconfig_to_configdb(roomnum, v);
- unlink(filename);
+ if (len > 0) {
+ v = malloc(len);
+ if (v) {
+ rewind(fp);
+ if (fread(v, len, 1, fp)) {
+ write_netconfig_to_configdb(roomnum, v);
+ unlink(filename);
+ }
+ free(v);
}
- free(v);
+ }
+ else {
+ unlink(filename); // zero length netconfig, just delete it
}
fclose(fp);
}