mirror of
https://github.com/ggerganov/llama.cpp.git
synced 2024-12-25 02:44:36 +00:00
ggml : always check bounds on get_rows operations (#9354)
This commit is contained in:
parent
df270ef745
commit
e32d0816ed
@ -13721,7 +13721,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),
|
||||||
@ -13762,7 +13762,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),
|
||||||
@ -13803,7 +13803,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),
|
||||||
@ -13844,7 +13844,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