if (dso == NULL)
return (1);
- if (CRYPTO_atomic_add(&dso->references, -1, &i, dso->lock) <= 0)
+ if (CRYPTO_DOWN_REF(&dso->references, &i, dso->lock) <= 0)
return 0;
REF_PRINT_COUNT("DSO", dso);
return 0;
}
- if (CRYPTO_atomic_add(&dso->references, 1, &i, dso->lock) <= 0)
+ if (CRYPTO_UP_REF(&dso->references, &i, dso->lock) <= 0)
return 0;
REF_PRINT_COUNT("DSO", r);
char *filename = NULL;
int len = DSO_pathbyaddr(addr, NULL, 0);
+ if (len < 0)
+ return NULL;
+
filename = OPENSSL_malloc(len);
if (filename != NULL
&& DSO_pathbyaddr(addr, filename, len) == len)