Bug fixes

This commit is contained in:
mid 2025-10-05 23:09:32 +03:00
parent 50c9a7a6ff
commit 33c9207947
2 changed files with 4 additions and 0 deletions

View File

@ -85,6 +85,7 @@ static inline CHiBSFrames *CHi_BS_Grow(CHiBSFrames *bsfs, size_t num) {
size_t oldsz = sizeof(*bsfs) + sizeof(CHiBSFrame) * bsfs->count; size_t oldsz = sizeof(*bsfs) + sizeof(CHiBSFrame) * bsfs->count;
size_t newsz = sizeof(*bsfs) + sizeof(CHiBSFrame) * (bsfs->count + num); size_t newsz = sizeof(*bsfs) + sizeof(CHiBSFrame) * (bsfs->count + num);
CHiBSFrames *ret = (CHiBSFrames*) realloc(bsfs, newsz); CHiBSFrames *ret = (CHiBSFrames*) realloc(bsfs, newsz);
ret->count += num;
memset((uint8_t*) ret + oldsz, 0, newsz - oldsz); memset((uint8_t*) ret + oldsz, 0, newsz - oldsz);
return ret; return ret;
} }

View File

@ -2,6 +2,7 @@
#include<mm_malloc.h> #include<mm_malloc.h>
#include<string.h> #include<string.h>
#include<assert.h>
CUTIVIS CHiImage* CHi_Image_New(uint8_t bpc, uint8_t channels, uint16_t stride, uint16_t width, uint16_t height, void *data) { CUTIVIS CHiImage* CHi_Image_New(uint8_t bpc, uint8_t channels, uint16_t stride, uint16_t width, uint16_t height, void *data) {
CHiImage *img = malloc(sizeof(*img)); CHiImage *img = malloc(sizeof(*img));
@ -14,6 +15,8 @@ CUTIVIS CHiImage* CHi_Image_New(uint8_t bpc, uint8_t channels, uint16_t stride,
else img->data16 = _mm_malloc(bpc * stride * height, 16); else img->data16 = _mm_malloc(bpc * stride * height, 16);
img->owned = !data; img->owned = !data;
assert(stride % 16 == 0);
return img; return img;
} }