}
int Read(FILE* fp, void* ptr, long offset, size_t size) {
- if (offset < 0 || size <= 0) {
+ if (offset < 0 || size == 0) {
LOGE_STD("Invalid parameter");
return -1;
}
return 0;
}
-char* GetDataFromFile(FILE* fp, long offset, size_t size) {
- if (offset < 0 || size <= 0) {
+char* GetDataFromFile(FILE* fp, unsigned long offset, size_t size) {
+ if (size == 0) {
LOGE_STD("Invalid parameter");
return nullptr;
}
return nullptr;
}
- if (Read(fp, ptr, offset, size) < 0) {
+ if (Read(fp, ptr, static_cast<long>(offset & __LONG_MAX__), size) < 0) {
free(ptr);
return nullptr;
}