diff options
author | Adam Ierymenko <adam.ierymenko@gmail.com> | 2019-06-17 15:28:02 -0700 |
---|---|---|
committer | Adam Ierymenko <adam.ierymenko@gmail.com> | 2019-06-17 15:28:02 -0700 |
commit | c5a07c7f20dc54d88a2f6b8b5c4462510b042325 (patch) | |
tree | f83fd35f3ad25ca3e0cb3baadf3911dbe7ecdac6 /service | |
parent | e2900f4f3c8631e6d777de7c4f79f9c5cb1d1fec (diff) | |
download | infinitytier-c5a07c7f20dc54d88a2f6b8b5c4462510b042325.tar.gz infinitytier-c5a07c7f20dc54d88a2f6b8b5c4462510b042325.zip |
More stack->heap
Diffstat (limited to 'service')
-rw-r--r-- | service/OneService.cpp | 15 |
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"); |