1
0
mirror of https://github.com/GOSTSec/sgminer synced 2025-01-11 07:17:58 +00:00

Clean up on failure to load a binary kernel.

This commit is contained in:
Con Kolivas 2012-01-22 17:09:06 +11:00
parent 238a85156e
commit 0719d40704

5
ocl.c
View File

@ -424,6 +424,9 @@ _clState *initCl(unsigned int gpu, char *name, size_t nameSize)
fclose(binaryfile);
goto build;
}
if (!binary_stat.st_size)
goto build;
binary_sizes[gpu] = binary_stat.st_size;
binaries[gpu] = (char *)malloc(binary_sizes[gpu]);
if (unlikely(!binaries[gpu])) {
@ -435,6 +438,7 @@ _clState *initCl(unsigned int gpu, char *name, size_t nameSize)
if (fread(binaries[gpu], 1, binary_sizes[gpu], binaryfile) != binary_sizes[gpu]) {
applog(LOG_ERR, "Unable to fread binaries[gpu]");
fclose(binaryfile);
free(binaries[gpu]);
goto build;
}
@ -442,6 +446,7 @@ _clState *initCl(unsigned int gpu, char *name, size_t nameSize)
if (status != CL_SUCCESS) {
applog(LOG_ERR, "Error: Loading Binary into cl_program (clCreateProgramWithBinary)");
fclose(binaryfile);
free(binaries[gpu]);
goto build;
}
fclose(binaryfile);