summaryrefslogtreecommitdiff
path: root/service
diff options
context:
space:
mode:
authorAdam Ierymenko <adam.ierymenko@gmail.com>2019-06-17 15:28:02 -0700
committerAdam Ierymenko <adam.ierymenko@gmail.com>2019-06-17 15:28:02 -0700
commitc5a07c7f20dc54d88a2f6b8b5c4462510b042325 (patch)
treef83fd35f3ad25ca3e0cb3baadf3911dbe7ecdac6 /service
parente2900f4f3c8631e6d777de7c4f79f9c5cb1d1fec (diff)
downloadinfinitytier-c5a07c7f20dc54d88a2f6b8b5c4462510b042325.tar.gz
infinitytier-c5a07c7f20dc54d88a2f6b8b5c4462510b042325.zip
More stack->heap
Diffstat (limited to 'service')
-rw-r--r--service/OneService.cpp15
1 files changed, 10 insertions, 5 deletions
diff --git a/service/OneService.cpp b/service/OneService.cpp
index 566b4750..0043204c 100644
--- a/service/OneService.cpp
+++ b/service/OneService.cpp
@@ -2455,11 +2455,16 @@ public:
// little effect on others.
f = fopen(p,"rb");
if (f) {
- char buf[65535];
- long l = (long)fread(buf,1,sizeof(buf),f);
- fclose(f);
- if ((l == (long)len)&&(memcmp(data,buf,l) == 0))
- return;
+ char *const buf = (char *)malloc(len*4);
+ if (buf) {
+ long l = (long)fread(buf,1,(size_t)(len*4),f);
+ fclose(f);
+ if ((l == (long)len)&&(memcmp(data,buf,l) == 0)) {
+ free(buf);
+ return;
+ }
+ free(buf);
+ }
}
f = fopen(p,"wb");