gpt4 book ai didi

c - 为什么内存损坏会存在……只有当我们不打印被损坏的变量时?

转载 作者:太空宇宙 更新时间:2023-11-04 05:24:19 24 4
gpt4 key购买 nike

<分区>

我在 C 中遇到一个奇怪的错误。我们有以下代码,我首先在没有中间两个 fprintf(f, "Passed PKLEN pklen: %u ,params->pklen: %u\n", pklen, params->pklen); 运行并且出现内存损坏,其中 pklen 停止等于 params->pklen。当我添加这两个中间的 println 以确定实际损坏发生的位置时......这两个与最后一个相等。

void ntru_get_seed(uint8_t *msg, uint16_t msg_len, NtruIntPoly *h, uint8_t *b, const NtruEncParams *params, uint8_t *seed) {
FILE *f = fopen("log.txt", "a");
uint16_t oid_len = sizeof params->oid;
uint16_t pklen = params->pklen;
fprintf(f, "Passed PKLEN pklen: %u ,params->pklen: %u \n", pklen, params->pklen);
fflush(f);

uint8_t bh[ntru_enc_len(params)];
fprintf(f, "Passed PKLEN pklen: %u ,params->pklen: %u \n", pklen, params->pklen);

ntru_to_arr(h, params->q, (uint8_t*)&bh);
fprintf(f, "Passed PKLEN pklen: %u ,params->pklen: %u \n", pklen, params->pklen);


uint8_t htrunc[pklen/8];
fprintf(f, "Passed PKLEN pklen: %u ,params->pklen: %u \n", pklen, params->pklen);
fprintf(f, "bh: %u \n", &bh);
fflush(f);
...

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com