while (offset >= length)
{
- length *= 2;
- x509_str = (BYTE*) realloc(x509_str, length);
+ int new_len;
+ BYTE *new_str;
+
+ new_len = length * 2;
+ new_str = (BYTE*) realloc(x509_str, new_len);
+ if (!new_str)
+ {
+ status = -1;
+ break;
+ }
+
+ length = new_len;
+ x509_str = new_str;
status = BIO_read(bio, &x509_str[offset], length);
if (status < 0)
{
- free(x509_str);
+ free(x509_str);
free(filename);
free(fullpath);
fclose (fp);
while (offset >= length)
{
- length *= 2;
- x509_str = (BYTE*) realloc(x509_str, length);
+ int new_len;
+ BYTE *new_str;
+
+ new_len = length * 2;
+ new_str = (BYTE*) realloc(x509_str, new_len);
+ if (!new_str)
+ {
+ status = -1;
+ break;
+ }
+
+ length = new_len;
+ x509_str = new_str;
status = BIO_read(bio, &x509_str[offset], length);
while (offset >= length)
{
- length *= 2;
- x509_str = (BYTE*) realloc(x509_str, length);
+ int new_len;
+ BYTE *new_str;
+
+ new_len = length * 2;
+ new_str = (BYTE*) realloc(x509_str, new_len);
+ if (!new_str)
+ {
+ status = -1;
+ break;
+ }
+
+ length = new_len;
+ x509_str = new_str;
status = BIO_read(bio, &x509_str[offset], length);
while (offset >= length)
{
- length *= 2;
- x509_str = (BYTE*) realloc(x509_str, length);
+ int new_len;
+ BYTE *new_str;
+
+ new_len = length * 2;
+ new_str = (BYTE*) realloc(x509_str, new_len);
+ if (!new_str)
+ {
+ status = -1;
+ break;
+ }
+
+ length = new_len;
+ x509_str = new_str;
status = BIO_read(bio, &x509_str[offset], length);
while (offset >= length)
{
- length *= 2;
- x509_str = (BYTE*) realloc(x509_str, length + 1);
+ int new_len;
+ BYTE *new_str;
+
+ new_len = length * 2;
+ new_str = (BYTE*) realloc(x509_str, new_len);
+ if (!new_str)
+ {
+ status = -1;
+ break;
+ }
+
+ length = new_len;
+ x509_str = new_str;
status = BIO_read(bio, &x509_str[offset], length);