if (s > 4) {
doff = *ds - 6;
*ds += s;
- *d = realloc (*d, sizeof (char) * *ds);
+ *d = realloc (*d, *ds);
+ if (!*d)
+ return;
exif_set_long (*d + 6 + offset + 8,
data->priv->order, doff);
} else
if (data->data)
free (data->data);
data->size = size;
- data->data = malloc (sizeof (char) * data->size);
+ data->data = malloc (data->size);
+ if (!data->data)
+ return;
memcpy (data->data, d + offset, data->size);
}
* and the number of entries.
*/
*ds += (2 + (ifd->count + n_ptr + n_thumb) * 12 + 4);
- *d = realloc (*d, sizeof (char) * *ds);
+ *d = realloc (*d, *ds);
+ if (!*d)
+ return;
/* Save the number of entries */
exif_set_short (*d + 6 + offset, data->priv->order,
exif_set_long (*d + 6 + offset + 8, data->priv->order,
*ds - 6);
*ds += data->size;
- *d = realloc (*d, sizeof (char) * *ds);
+ *d = realloc (*d, *ds);
+ if (!*d)
+ return;
memcpy (*d + *ds - data->size, data->data, data->size);
offset += 12;
#ifdef DEBUG
/* Header */
*ds = 14;
*d = malloc (*ds);
+ if (!*d)
+ return;
memcpy (*d, ExifHeader, 6);
/* Order (offset 6) */