mirror of
https://github.com/ggerganov/whisper.cpp.git
synced 2024-12-26 15:41:06 +00:00
ggml : always check bounds on get_rows operations (llama/9354)
This commit is contained in:
parent
195877fd72
commit
d37fd275fd
@ -13709,7 +13709,7 @@ static void ggml_compute_forward_get_rows_q(
|
|||||||
const int64_t i10 = (i - i12*ne11*ne10 - i11*ne10);
|
const int64_t i10 = (i - i12*ne11*ne10 - i11*ne10);
|
||||||
const int64_t i01 = *(int32_t *) ((char *) src1->data + i10*nb10 + i11*nb11 + i12*nb12);
|
const int64_t i01 = *(int32_t *) ((char *) src1->data + i10*nb10 + i11*nb11 + i12*nb12);
|
||||||
|
|
||||||
assert(i01 >= 0 && i01 < ne01);
|
GGML_ASSERT(i01 >= 0 && i01 < ne01);
|
||||||
|
|
||||||
dequantize_row_q(
|
dequantize_row_q(
|
||||||
(const void *) ((char *) src0->data + i01*nb01 + i11*nb02 + i12*nb03),
|
(const void *) ((char *) src0->data + i01*nb01 + i11*nb02 + i12*nb03),
|
||||||
@ -13750,7 +13750,7 @@ static void ggml_compute_forward_get_rows_f16(
|
|||||||
const int64_t i10 = (i - i12*ne11*ne10 - i11*ne10);
|
const int64_t i10 = (i - i12*ne11*ne10 - i11*ne10);
|
||||||
const int64_t i01 = *(int32_t *) ((char *) src1->data + i10*nb10 + i11*nb11 + i12*nb12);
|
const int64_t i01 = *(int32_t *) ((char *) src1->data + i10*nb10 + i11*nb11 + i12*nb12);
|
||||||
|
|
||||||
assert(i01 >= 0 && i01 < ne01);
|
GGML_ASSERT(i01 >= 0 && i01 < ne01);
|
||||||
|
|
||||||
ggml_fp16_to_fp32_row(
|
ggml_fp16_to_fp32_row(
|
||||||
(const void *) ((char *) src0->data + i01*nb01 + i11*nb02 + i12*nb03),
|
(const void *) ((char *) src0->data + i01*nb01 + i11*nb02 + i12*nb03),
|
||||||
@ -13791,7 +13791,7 @@ static void ggml_compute_forward_get_rows_bf16(
|
|||||||
const int64_t i10 = (i - i12*ne11*ne10 - i11*ne10);
|
const int64_t i10 = (i - i12*ne11*ne10 - i11*ne10);
|
||||||
const int64_t i01 = *(int32_t *) ((char *) src1->data + i10*nb10 + i11*nb11 + i12*nb12);
|
const int64_t i01 = *(int32_t *) ((char *) src1->data + i10*nb10 + i11*nb11 + i12*nb12);
|
||||||
|
|
||||||
assert(i01 >= 0 && i01 < ne01);
|
GGML_ASSERT(i01 >= 0 && i01 < ne01);
|
||||||
|
|
||||||
ggml_bf16_to_fp32_row(
|
ggml_bf16_to_fp32_row(
|
||||||
(const void *) ((char *) src0->data + i01*nb01 + i11*nb02 + i12*nb03),
|
(const void *) ((char *) src0->data + i01*nb01 + i11*nb02 + i12*nb03),
|
||||||
@ -13832,7 +13832,7 @@ static void ggml_compute_forward_get_rows_f32(
|
|||||||
const int64_t i10 = (i - i12*ne11*ne10 - i11*ne10);
|
const int64_t i10 = (i - i12*ne11*ne10 - i11*ne10);
|
||||||
const int64_t i01 = *(int32_t *) ((char *) src1->data + i10*nb10 + i11*nb11 + i12*nb12);
|
const int64_t i01 = *(int32_t *) ((char *) src1->data + i10*nb10 + i11*nb11 + i12*nb12);
|
||||||
|
|
||||||
assert(i01 >= 0 && i01 < ne01);
|
GGML_ASSERT(i01 >= 0 && i01 < ne01);
|
||||||
|
|
||||||
ggml_vec_cpy_f32(nc,
|
ggml_vec_cpy_f32(nc,
|
||||||
(float *) ((char *) dst->data + i10*nb1 + i11*nb2 + i12*nb3),
|
(float *) ((char *) dst->data + i10*nb1 + i11*nb2 + i12*nb3),
|
||||||
|
Loading…
Reference in New Issue
Block a user