mirror of
https://github.com/GOSTSec/sgminer
synced 2025-01-25 14:04:25 +00:00
Clean up on failure to load a binary kernel.
This commit is contained in:
parent
238a85156e
commit
0719d40704
5
ocl.c
5
ocl.c
@ -424,6 +424,9 @@ _clState *initCl(unsigned int gpu, char *name, size_t nameSize)
|
|||||||
fclose(binaryfile);
|
fclose(binaryfile);
|
||||||
goto build;
|
goto build;
|
||||||
}
|
}
|
||||||
|
if (!binary_stat.st_size)
|
||||||
|
goto build;
|
||||||
|
|
||||||
binary_sizes[gpu] = binary_stat.st_size;
|
binary_sizes[gpu] = binary_stat.st_size;
|
||||||
binaries[gpu] = (char *)malloc(binary_sizes[gpu]);
|
binaries[gpu] = (char *)malloc(binary_sizes[gpu]);
|
||||||
if (unlikely(!binaries[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]) {
|
if (fread(binaries[gpu], 1, binary_sizes[gpu], binaryfile) != binary_sizes[gpu]) {
|
||||||
applog(LOG_ERR, "Unable to fread binaries[gpu]");
|
applog(LOG_ERR, "Unable to fread binaries[gpu]");
|
||||||
fclose(binaryfile);
|
fclose(binaryfile);
|
||||||
|
free(binaries[gpu]);
|
||||||
goto build;
|
goto build;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -442,6 +446,7 @@ _clState *initCl(unsigned int gpu, char *name, size_t nameSize)
|
|||||||
if (status != CL_SUCCESS) {
|
if (status != CL_SUCCESS) {
|
||||||
applog(LOG_ERR, "Error: Loading Binary into cl_program (clCreateProgramWithBinary)");
|
applog(LOG_ERR, "Error: Loading Binary into cl_program (clCreateProgramWithBinary)");
|
||||||
fclose(binaryfile);
|
fclose(binaryfile);
|
||||||
|
free(binaries[gpu]);
|
||||||
goto build;
|
goto build;
|
||||||
}
|
}
|
||||||
fclose(binaryfile);
|
fclose(binaryfile);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user