|
1 | | -#include "include/libcuda_hook.h" |
| 1 | +#include <stdio.h> |
2 | 2 | #include <string.h> |
| 3 | +#include "include/libcuda_hook.h" |
3 | 4 | #include "include/libvgpu.h" |
4 | 5 | #include "include/multi_func_hook.h" |
5 | 6 |
|
@@ -269,8 +270,7 @@ void load_cuda_libraries() { |
269 | 270 | cuda_library_entry[i].fn_ptr=real_dlsym(RTLD_NEXT,cuda_library_entry[i].name); |
270 | 271 | if (!cuda_library_entry[i].fn_ptr){ |
271 | 272 | LOG_INFO("can't find function %s in %s", cuda_library_entry[i].name,cuda_filename); |
272 | | - memset(tmpfunc,0,500); |
273 | | - strcpy(tmpfunc,cuda_library_entry[i].name); |
| 273 | + snprintf(tmpfunc, sizeof(tmpfunc), "%s", cuda_library_entry[i].name); |
274 | 274 | while (prior_function(tmpfunc)) { |
275 | 275 | cuda_library_entry[i].fn_ptr=real_dlsym(RTLD_NEXT,tmpfunc); |
276 | 276 | if (cuda_library_entry[i].fn_ptr) { |
@@ -321,22 +321,13 @@ void *find_symbols_in_table(const char *symbol) { |
321 | 321 | if (strncmp(symbol, "cuGraph", 7) == 0) { |
322 | 322 | return NULL; |
323 | 323 | } |
324 | | - strcpy(symbol_v,symbol); |
325 | | - strcat(symbol_v,"_v3"); |
326 | | - pfn = __dlsym_hook_section(NULL,symbol_v); |
327 | | - if (pfn!=NULL) { |
| 324 | + snprintf(symbol_v, sizeof(symbol_v), "%s_v3", symbol); |
| 325 | + if ((pfn = __dlsym_hook_section(NULL, symbol_v)) != NULL) |
328 | 326 | return pfn; |
329 | | - } |
330 | 327 | symbol_v[strlen(symbol_v)-1]='2'; |
331 | | - pfn = __dlsym_hook_section(NULL,symbol_v); |
332 | | - if (pfn!=NULL) { |
| 328 | + if ((pfn = __dlsym_hook_section(NULL, symbol_v)) != NULL) |
333 | 329 | return pfn; |
334 | | - } |
335 | | - pfn = __dlsym_hook_section(NULL,symbol); |
336 | | - if (pfn!=NULL) { |
337 | | - return pfn; |
338 | | - } |
339 | | - return NULL; |
| 330 | + return __dlsym_hook_section(NULL, symbol); |
340 | 331 | } |
341 | 332 |
|
342 | 333 | void *find_symbols_in_table_by_cudaversion(const char *symbol,int cudaVersion) { |
|
0 commit comments