Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

20241105-c89-expansion-etc #8164

Merged
merged 2 commits into from
Nov 8, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/codespell.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,4 +27,4 @@ jobs:
# The exclude_file contains lines of code that should be ignored. This is useful for individual lines which have non-words that can safely be ignored.
exclude_file: '.codespellexcludelines'
# To skip files entirely from being processed, add it to the following list:
skip: '*.cproject,*.der,*.mtpj,*.pem,*.vcxproj,.git,*.launch,*.scfg,*/README_jp.txt'
skip: '*.cproject,*.der,*.mtpj,*.pem,*.vcxproj,.git,*.launch,*.scfg'
208 changes: 104 additions & 104 deletions IDE/Renesas/cs+/Projects/t4_demo/README_jp.txt
Original file line number Diff line number Diff line change
@@ -1,71 +1,71 @@
wolfSSL/AlphaProjectボードデモ セットアップガイド
wolfSSL/AlphaProject繝懊�繝峨ョ繝「縲繧サ繝�ヨ繧「繝��繧ャ繧、繝

このデモは以下の環境でテストしています。
縺薙�繝�Δ縺ッ莉・荳九�迺ー蠅�〒繝�せ繝医@縺ヲ縺�∪縺吶

Renesas : CS+ v6.01, v8.01
Board : AP-RX71M-0A
wolfSSL : 3.15.3, 4.0.0

セットアップ手順:
繧サ繝�ヨ繧「繝��謇矩�シ

1.ソフトウェアの入手
 - APボード付属のソフトウェア一式を適当なフォルダー下に解凍します。
 - 同じフォルダー下にwolfssl一式を解凍します。
�托シ弱た繝輔ヨ繧ヲ繧ァ繧「縺ョ蜈・謇
縲- AP繝懊�繝我サ伜ア槭�繧ス繝輔ヨ繧ヲ繧ァ繧「荳蠑上r驕ゥ蠖薙↑繝輔か繝ォ繝繝シ荳九↓隗」蜃阪@縺セ縺吶
縲- 蜷後§繝輔か繝ォ繝繝シ荳九↓wolfssl荳蠑上r隗」蜃阪@縺セ縺吶

2.wolfSSLのセットアップ
 - CS+にてwolfssl\IDE\Renesas\cs+\Project下のwolfssl\wolfssl_lib.mtpjを開き
  wolfSSLライブラリーのビルドをします。
 - 同じフォルダの下のt4_demo.mtpjを開き、デモプログラムのビルドをします。
 このプログラムもライブラリー形式でビルドされます。
�抵シ指olfSSL縺ョ繧サ繝�ヨ繧「繝��
縲- CS+縺ォ縺ヲwolfsslツ・IDEツ・Renesasツ・cs+ツ・Project荳九�wolfsslツ・wolfssl_lib.mtpj繧帝幕縺
縲縲wolfSSL繝ゥ繧、繝悶Λ繝ェ繝シ縺ョ繝薙Ν繝峨r縺励∪縺吶
縲- 蜷後§繝輔か繝ォ繝縺ョ荳九�t4_demo.mtpj繧帝幕縺阪√ョ繝「繝励Ο繧ー繝ゥ繝縺ョ繝薙Ν繝峨r縺励∪縺吶
縲縺薙�繝励Ο繧ー繝ゥ繝繧ゅΛ繧、繝悶Λ繝ェ繝シ蠖「蠑上〒繝薙Ν繝峨&繧後∪縺吶

3.AlphaProject側のセットアップ
�難シ拶lphaProject蛛エ縺ョ繧サ繝�ヨ繧「繝��

!!** サンプルプログラム v2.0 を使用する場合は、_ether_ => _usbfunc_ **!!
!!** と置き換えてください **!!
!!** 繧オ繝ウ繝励Ν繝励Ο繧ー繝ゥ繝 v2.0 繧剃スソ逕ィ縺吶k蝣エ蜷医�縲\ether_ => _usbfunc_ **!!
!!** 縺ィ鄂ョ縺肴鋤縺医※縺上□縺輔> **!!

 デモはap_rx71m_0a_sample_cs\Sample\ap_rx71m_0a_ether_sample_csフォルダ下の
 ap_rx71m_0a_ether_sample_cs.mtpjプロジェクトを利用します。
 
 - ap_rx71m_0a_sample_cs\Sample\ap_rx71m_0a_ether_sample_cs\srcフォルダ下の
 AP_RX71M_0A.cファイルを開き、
 97行目のecho_srv_init()の下にwolfSSL_init()を挿入します。
縲繝�Δ縺ッap_rx71m_0a_sample_csツ・Sampleツ・ap_rx71m_0a_ether_sample_cs繝輔か繝ォ繝荳九�
縲ap_rx71m_0a_ether_sample_cs.mtpj繝励Ο繧ク繧ァ繧ッ繝医r蛻ゥ逕ィ縺励∪縺吶
縲
縲- ap_rx71m_0a_sample_csツ・Sampleツ・ap_rx71m_0a_ether_sample_csツ・src繝輔か繝ォ繝荳九�
縲AP_RX71M_0A.c繝輔ぃ繧、繝ォ繧帝幕縺阪
縲�呻シ苓。檎岼縺ョecho_srv_init()縺ョ荳九↓wolfSSL_init()繧呈諺蜈・縺励∪縺吶

===
sci_init();
can_init();
echo_srv_init();
wolfSSL_init(); <- この行を挿入
wolfSSL_init(); <- 縺薙�陦後r謖ソ蜈・
===

!!** サンプルプログラム v2.0 を使用する場合は、下記 **!!
!!** 繧オ繝ウ繝励Ν繝励Ο繧ー繝ゥ繝 v2.0 繧剃スソ逕ィ縺吶k蝣エ蜷医�縲∽ク玖ィ **!!
===
CanInit();
SciInit();
EthernetAppInit();
UsbfInit();
wolfSSL_init(); <- この行を挿入
wolfSSL_init(); <- 縺薙�陦後r謖ソ蜈・
===
!!**********************************************************************!!

 - ap_rx71m_0a_sample_cs\Sample\ap_rx71m_0a_ether_sample_cs\src\smc_gen\r_bsp_config.h
 を開き、スタックサイズとヒープサイズを以下のように設定します。
 
 120行目 #pragma stacksize su=0x2000
 139行目 #define BSP_CFG_HEAP_BYTES (0xa000)

!!** サンプルプログラム v2.0 を使用する場合は、下記 **!!
 - ap_rx71m_0a_sample_cs\Sample\ap_rx71m_0a_usbfunc_sample_cs\src\smc_gen\r_bsp_config.h
 を開き、スタックサイズとヒープサイズを以下のように設定します。
 154行目 #pragma stacksize su=0x2000
 175行目 #define BSP_CFG_HEAP_BYTES (0xa000)
縲- ap_rx71m_0a_sample_csツ・Sampleツ・ap_rx71m_0a_ether_sample_csツ・srcツ・smc_genツ・r_bsp_config.h
縲繧帝幕縺阪√せ繧ソ繝�け繧オ繧、繧コ縺ィ繝偵�繝励し繧、繧コ繧剃サ・荳九�繧医≧縺ォ險ュ螳壹@縺セ縺吶
縲
縲120陦檎岼 #pragma stacksize su=0x2000
縲139陦檎岼 #define BSP_CFG_HEAP_BYTES (0xa000)

!!** 繧オ繝ウ繝励Ν繝励Ο繧ー繝ゥ繝 v2.0 繧剃スソ逕ィ縺吶k蝣エ蜷医�縲∽ク玖ィ **!!
縲- ap_rx71m_0a_sample_csツ・Sampleツ・ap_rx71m_0a_usbfunc_sample_csツ・srcツ・smc_genツ・r_bsp_config.h
縲繧帝幕縺阪√せ繧ソ繝�け繧オ繧、繧コ縺ィ繝偵�繝励し繧、繧コ繧剃サ・荳九�繧医≧縺ォ險ュ螳壹@縺セ縺吶
縲154陦檎岼 #pragma stacksize su=0x2000
縲175陦檎岼 #define BSP_CFG_HEAP_BYTES (0xa000)
!!**********************************************************************!!

 - IPアドレスのデフォルト値は以下のようになっています。
 必要があれば、Sample\ap_rx71m_0a_ether_sample_cs\src\r_t4_rx\src\config_tcpudp.c
 内の139行目からの定義を変更します。
 !!** サンプルプログラム v2.0 を使用する場合は、下記 **!!
Sample\ap_rx71m_0a_usbfunc_sample_cs\src\tcp_sample\src\config_tcpudp.c
内の166行目からの定義を変更します。
縲- IP繧「繝峨Ξ繧ケ縺ョ繝�ヵ繧ゥ繝ォ繝亥、縺ッ莉・荳九�繧医≧縺ォ縺ェ縺」縺ヲ縺�∪縺吶
縲蠢�ヲ√′縺ゅl縺ー縲ヾampleツ・ap_rx71m_0a_ether_sample_csツ・srcツ・r_t4_rxツ・srcツ・config_tcpudp.c
縲蜀��139陦檎岼縺九i縺ョ螳夂セゥ繧貞、画峩縺励∪縺吶
縲!!** 繧オ繝ウ繝励Ν繝励Ο繧ー繝ゥ繝 v2.0 繧剃スソ逕ィ縺吶k蝣エ蜷医�縲∽ク玖ィ **!!
Sampleツ・ap_rx71m_0a_usbfunc_sample_csツ・srcツ・tcp_sampleツ・srcツ・config_tcpudp.c
蜀��166陦檎岼縺九i縺ョ螳夂セゥ繧貞、画峩縺励∪縺吶
!!**********************************************************************!!

===
Expand All @@ -75,74 +75,74 @@ wolfSSL/AlphaProject
===


 - CS+でap_rx71m_0a_ether_sample_cs.mtpjプロジェクトを開き、wolfSSLとデモライブラリを
 登録します。CC-RX(ビルドツール)->リンク・オプションタブ->使用するライブラリに
 以下の二つのファイルを登録します。
 wolfssl\IDE\Renesas\cs+\Projects\wolfssl_lib\DefaultBuild\wolfssl_lib.lib
 wolfssl\IDE\Renesas\cs+\Projects\t4_demo\DefaultBuild\t4_demo.lib
縲- CS+縺ァap_rx71m_0a_ether_sample_cs.mtpj繝励Ο繧ク繧ァ繧ッ繝医r髢九″縲『olfSSL縺ィ繝�Δ繝ゥ繧、繝悶Λ繝ェ繧
縲逋サ骭イ縺励∪縺吶�C-RX(繝薙Ν繝峨ヤ繝シ繝ォ)->繝ェ繝ウ繧ッ繝サ繧ェ繝励す繝ァ繝ウ繧ソ繝->菴ソ逕ィ縺吶k繝ゥ繧、繝悶Λ繝ェ縺ォ
縲莉・荳九�莠後▽縺ョ繝輔ぃ繧、繝ォ繧堤匳骭イ縺励∪縺吶
縲wolfsslツ・IDEツ・Renesasツ・cs+ツ・Projectsツ・wolfssl_libツ・DefaultBuildツ・wolfssl_lib.lib
縲wolfsslツ・IDEツ・Renesasツ・cs+ツ・Projectsツ・t4_demoツ・DefaultBuildツ・t4_demo.lib

- CC-RX(ビルドツール)->ライブラリージェネレーションタブ->ライブラリー構成を「C99」に、
ctype.hを有効にするを「はい」に設定します。
- CC-RX(繝薙Ν繝峨ヤ繝シ繝ォ)->繝ゥ繧、繝悶Λ繝ェ繝シ繧ク繧ァ繝阪Ξ繝シ繧キ繝ァ繝ウ繧ソ繝->繝ゥ繧、繝悶Λ繝ェ繝シ讒区�繧偵靴99縲阪↓縲
ctype.h繧呈怏蜉ケ縺ォ縺吶k繧偵後�縺�阪↓險ュ螳壹@縺セ縺吶

 - プロジェクトのビルド、ターゲットへのダウンロードをしたのち、表示->デバッグ・コンソール
 からコンソールを表示させます。実行を開始するとコンソールに以下の表示が出力されます。
 
縲- 繝励Ο繧ク繧ァ繧ッ繝医�繝薙Ν繝峨√ち繝シ繧イ繝�ヨ縺ク縺ョ繝繧ヲ繝ウ繝ュ繝シ繝峨r縺励◆縺ョ縺。縲∬。ィ遉コ->繝�ヰ繝�げ繝サ繧ウ繝ウ繧ス繝シ繝ォ
縲縺九i繧ウ繝ウ繧ス繝シ繝ォ繧定。ィ遉コ縺輔○縺セ縺吶ょョ溯。後r髢句ァ九☆繧九→繧ウ繝ウ繧ス繝シ繝ォ縺ォ莉・荳九�陦ィ遉コ縺悟�蜉帙&繧後∪縺吶
縲
===
 wolfSSL Demo
縲wolfSSL Demo
t: test, b: benchmark, s: server, or c <IP addr> <Port>: client
$
===

tコマンド:各暗号化アルゴリズムの簡単なテストを実行します。所要のアルゴリズムが
 組み込まれているか確認することができます。組み込むアルゴリズムはビルドオプション
 で変更することができます。詳しくはユーザマニュアルを参照してください。
bコマンド:各暗号アルゴリズムごとの簡単なベンチマークを実行します。
sコマンド:簡単なTLSサーバを起動します。起動するとビルド時のIPアドレス、
 ポート50000にてTLS接続を待ちます。
cコマンド:簡単なTLSクライアントを起動します。起動すると第一アーギュメントで指定された
 IPアドレス、第二アーギュメントで指定されたポートに対してTLS接続します。

いずれのコマンドも1回のみ実行します。繰り返し実行したい場合は、MPUをリセットして
再起動します。

4.対向テスト
 デモのs、cコマンドを使って、他の機器と簡単な対向テストをすることができます。
 UbuntuなどのGCC, make環境、WindowsのVisual Studioなどで
 対向テスト用のサーバ、クライアントをビルドすることができます。

 GCC,makeコマンド環境では、ダウンロード解凍したwolfsslのディレクトリ下で以下の
 コマンドを発行すると、ライブラリ、テスト用のクライアント、サーバなど一式がビルド
 されます。
 
 $ ./configure
 $ make check
 
 その後、以下のような指定でクライアントまたはサーバを起動して、ボード上の
 デモと対向テストすることができます。
 
 PC側:
 $ ./examples/server/server -b -d
 ボード側:
  > c <IPアドレス> 11111

 ボード側:
  > s
 PC側: 
 $ ./examples/client/client -h <IPアドレス> -p 50000
 
 
 WindowsのVisual Studioでは、ダウンロード解凍したwolfsslフォルダ下のwolfssl64.sln
 を開き、ソリューションをビルドします。Debugフォルダ下にビルドされるclient.exeと
 server.exeを利用します。
 
PC側:
 Debug> .\server -b -d
 ボード側:
  > c <IPアドレス> 11111

 ボード側:
  > s
 PC側:
 Debug> .\client -h <IPアドレス> -p 50000

以上、
t繧ウ繝槭Φ繝会シ壼推證怜捷蛹悶い繝ォ繧エ繝ェ繧コ繝縺ョ邁。蜊倥↑繝�せ繝医r螳溯。後@縺セ縺吶よ園隕√�繧「繝ォ繧エ繝ェ繧コ繝縺
縲邨�∩霎シ縺セ繧後※縺�k縺狗「コ隱阪☆繧九%縺ィ縺後〒縺阪∪縺吶らオ�∩霎シ繧繧「繝ォ繧エ繝ェ繧コ繝縺ッ繝薙Ν繝峨が繝励す繝ァ繝ウ
縲縺ァ螟画峩縺吶k縺薙→縺後〒縺阪∪縺吶りゥウ縺励¥縺ッ繝ヲ繝シ繧カ繝槭ル繝・繧「繝ォ繧貞盾辣ァ縺励※縺上□縺輔>縲
b繧ウ繝槭Φ繝会シ壼推證怜捷繧「繝ォ繧エ繝ェ繧コ繝縺斐→縺ョ邁。蜊倥↑繝吶Φ繝√�繝シ繧ッ繧貞ョ溯。後@縺セ縺吶
s繧ウ繝槭Φ繝会シ夂ー。蜊倥↑TLS繧オ繝シ繝舌r襍キ蜍輔@縺セ縺吶りオキ蜍輔☆繧九→繝薙Ν繝画凾縺ョIP繧「繝峨Ξ繧ケ縲
縲繝昴�繝50000縺ォ縺ヲTLS謗・邯壹r蠕�■縺セ縺吶
c繧ウ繝槭Φ繝会シ夂ー。蜊倥↑TLS繧ッ繝ゥ繧、繧「繝ウ繝医r襍キ蜍輔@縺セ縺吶りオキ蜍輔☆繧九→隨ャ荳繧「繝シ繧ョ繝・繝。繝ウ繝医〒謖�ョ壹&繧後◆
縲IP繧「繝峨Ξ繧ケ縲∫ャャ莠後い繝シ繧ョ繝・繝。繝ウ繝医〒謖�ョ壹&繧後◆繝昴�繝医↓蟇セ縺励※TLS謗・邯壹@縺セ縺吶

縺�★繧後�繧ウ繝槭Φ繝峨b�大屓縺ョ縺ソ螳溯。後@縺セ縺吶らケー繧願ソ斐@螳溯。後@縺溘>蝣エ蜷医�縲`PU繧偵Μ繧サ繝�ヨ縺励※
蜀崎オキ蜍輔@縺セ縺吶

�費シ主ッセ蜷代ユ繧ケ繝
縲繝�Δ縺ョ�薙�ス�さ繝槭Φ繝峨r菴ソ縺」縺ヲ縲∽サ悶�讖溷勣縺ィ邁。蜊倥↑蟇セ蜷代ユ繧ケ繝医r縺吶k縺薙→縺後〒縺阪∪縺吶
縲Ubuntu縺ェ縺ゥ縺ョGCC, make迺ー蠅�仝indows縺ョVisual Studio縺ェ縺ゥ縺ァ
縲蟇セ蜷代ユ繧ケ繝育畑縺ョ繧オ繝シ繝舌√け繝ゥ繧、繧「繝ウ繝医r繝薙Ν繝峨☆繧九%縺ィ縺後〒縺阪∪縺吶

縲GCC,make繧ウ繝槭Φ繝臥腸蠅�〒縺ッ縲√ム繧ヲ繝ウ繝ュ繝シ繝芽ァ」蜃阪@縺毆olfssl縺ョ繝�ぅ繝ャ繧ッ繝医Μ荳九〒莉・荳九�
縲繧ウ繝槭Φ繝峨r逋コ陦後☆繧九→縲√Λ繧、繝悶Λ繝ェ縲√ユ繧ケ繝育畑縺ョ繧ッ繝ゥ繧、繧「繝ウ繝医√し繝シ繝舌↑縺ゥ荳蠑上′繝薙Ν繝
縲縺輔l縺セ縺吶
縲
縲$ ./configure
縲$ make check
縲
縲縺昴�蠕後∽サ・荳九�繧医≧縺ェ謖�ョ壹〒繧ッ繝ゥ繧、繧「繝ウ繝医∪縺溘�繧オ繝シ繝舌r襍キ蜍輔@縺ヲ縲√�繝シ繝我ク翫�
縲繝�Δ縺ィ蟇セ蜷代ユ繧ケ繝医☆繧九%縺ィ縺後〒縺阪∪縺吶
縲
縲PC蛛エ�
縲$ ./examples/server/server -b -d
縲繝懊�繝牙��
縲縲> c <IP繧「繝峨Ξ繧ケ> 11111

縲繝懊�繝牙��
縲縲> s
縲PC蛛エ�壹
縲$ ./examples/client/client -h <IP繧「繝峨Ξ繧ケ> -p 50000
縲
縲
縲Windows縺ョVisual Studio縺ァ縺ッ縲√ム繧ヲ繝ウ繝ュ繝シ繝芽ァ」蜃阪@縺毆olfssl繝輔か繝ォ繝荳九�wolfssl64.sln
縲繧帝幕縺阪√た繝ェ繝・繝シ繧キ繝ァ繝ウ繧偵ン繝ォ繝峨@縺セ縺吶�ebug繝輔か繝ォ繝荳九↓繝薙Ν繝峨&繧後kclient.exe縺ィ
縲server.exe繧貞茜逕ィ縺励∪縺吶
縲
PC蛛エ�
縲Debug> .ツ・server -b -d
縲繝懊�繝牙��
縲縲> c <IP繧「繝峨Ξ繧ケ> 11111

縲繝懊�繝牙��
縲縲> s
縲PC蛛エ�
縲Debug> .ツ・client -h <IP繧「繝峨Ξ繧ケ> -p 50000

莉・荳翫
2 changes: 1 addition & 1 deletion cmake/options.h.in
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,7 @@ extern "C" {
#undef HAVE_POLY1305
#cmakedefine HAVE_POLY1305
#undef HAVE_PTHREAD
#cmakedefine HAVE_PTHREAD
#cmakedefine HAVE_PTHREAD 1
#undef HAVE_REPRODUCIBLE_BUILD
#cmakedefine HAVE_REPRODUCIBLE_BUILD
#undef HAVE_SESSION_TICKET
Expand Down
16 changes: 15 additions & 1 deletion configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -6000,6 +6000,19 @@ else
fi


# C89 build
AC_ARG_ENABLE([c89],
[AS_HELP_STRING([--enable-c89],[Build with C89 toolchain (default: disabled)])],
[ ENABLED_C89=$enableval ],
[ ENABLED_C89=no ]
)

if test "$ENABLED_C89" = "yes"
then
AM_CFLAGS="$AM_CFLAGS -DWOLF_C89"
test "$enable_inline" = "" && enable_inline=no
fi

# inline Build
AC_ARG_ENABLE([inline],
[AS_HELP_STRING([--enable-inline],[Enable inline functions (default: enabled)])],
Expand Down Expand Up @@ -9928,7 +9941,7 @@ AM_CONDITIONAL([USE_VALGRIND],[test "x$ENABLED_VALGRIND" = "xyes"])
AM_CONDITIONAL([BUILD_MD4],[test "x$ENABLED_MD4" = "xyes" || test "x$ENABLED_USERSETTINGS" = "xyes"])
AM_CONDITIONAL([BUILD_PWDBASED],[test "x$ENABLED_PWDBASED" = "xyes" || test "x$ENABLED_USERSETTINGS" = "xyes"])
AM_CONDITIONAL([BUILD_SCRYPT],[test "x$ENABLED_SCRYPT" = "xyes" || test "x$ENABLED_USERSETTINGS" = "xyes"])
AM_CONDITIONAL([BUILD_CRYPTONLY],[test "x$ENABLED_CRYPTONLY" = "xyes" && test "x$ENABLED_OPENSSLEXTRA" = "xno"])
AM_CONDITIONAL([BUILD_CRYPTONLY],[test "x$ENABLED_CRYPTONLY" = "xyes"])
AM_CONDITIONAL([BUILD_FASTMATH],[test "x$ENABLED_FASTMATH" = "xyes" || test "x$ENABLED_USERSETTINGS" = "xyes"])
AM_CONDITIONAL([BUILD_HEAPMATH],[test "x$ENABLED_HEAPMATH" = "xyes" || test "x$ENABLED_USERSETTINGS" = "xyes"])
AM_CONDITIONAL([BUILD_EXAMPLE_SERVERS],[test "x$ENABLED_EXAMPLES" = "xyes" && test "x$ENABLED_LEANTLS" = "xno"])
Expand Down Expand Up @@ -10497,6 +10510,7 @@ echo " * ARM ASM SM3/SM4 Crypto $ENABLED_ARMASM_CRYPTO_SM4"
echo " * RISC-V ASM $ENABLED_RISCV_ASM"
echo " * Write duplicate: $ENABLED_WRITEDUP"
echo " * Xilinx Hardware Acc.: $ENABLED_XILINX"
echo " * C89: $ENABLED_C89"
echo " * Inline Code: $ENABLED_INLINE"
echo " * Linux AF_ALG: $ENABLED_AFALG"
echo " * Linux KCAPI: $ENABLED_KCAPI"
Expand Down
14 changes: 7 additions & 7 deletions examples/asn1/asn1.c
Original file line number Diff line number Diff line change
Expand Up @@ -66,15 +66,15 @@ static int asn1App_ReadFile(FILE* fp, unsigned char** pdata, word32* plen)
word32 len = 0;
size_t read_len;
/* Allocate a minimum amount. */
unsigned char* data = (unsigned char*)malloc(DATA_INC_LEN);
unsigned char* data = (unsigned char*)XMALLOC(DATA_INC_LEN, NULL, DYNAMIC_TYPE_TMP_BUFFER);

if (data != NULL) {
/* Read more data. */
while ((read_len = fread(data + len, 1, DATA_INC_LEN, fp)) != 0) {
unsigned char* p;

if (ferror(fp)) {
free(data);
XFREE(data, NULL, DYNAMIC_TYPE_TMP_BUFFER);
return IO_FAILED_E;
}

Expand All @@ -87,10 +87,10 @@ static int asn1App_ReadFile(FILE* fp, unsigned char** pdata, word32* plen)
}

/* Make space for more data to be added to buffer. */
p = (unsigned char*)realloc(data, len + DATA_INC_LEN);
p = (unsigned char*)XREALLOC(data, len + DATA_INC_LEN, NULL, DYNAMIC_TYPE_TMP_BUFFER);
if (p == NULL) {
/* Reallocation failed - free current buffer. */
free(data);
XFREE(data, NULL, DYNAMIC_TYPE_TMP_BUFFER);
data = NULL;
break;
}
Expand Down Expand Up @@ -132,7 +132,7 @@ static int PrintDer(FILE* fp)
/* Print DER/BER. */
ret = wc_Asn1_PrintAll(&asn1, &opts, data, len);
/* Dispose of buffer. */
free(data);
XFREE(data, NULL, DYNAMIC_TYPE_TMP_BUFFER);
}

return ret;
Expand Down Expand Up @@ -168,7 +168,7 @@ static int PrintBase64(FILE* fp)
ret = wc_Asn1_PrintAll(&asn1, &opts, data, len);
}
/* Dispose of buffer. */
free(data);
XFREE(data, NULL, DYNAMIC_TYPE_TMP_BUFFER);
}

return ret;
Expand Down Expand Up @@ -280,7 +280,7 @@ static int PrintPem(FILE* fp, int pem_skip)
ret = wc_Asn1_PrintAll(&asn1, &opts, data, len);
}
/* Dispose of buffer. */
free(data);
XFREE(data, NULL, DYNAMIC_TYPE_TMP_BUFFER);
}

return ret;
Expand Down
4 changes: 2 additions & 2 deletions examples/client/client.c
Original file line number Diff line number Diff line change
Expand Up @@ -789,9 +789,9 @@ static int ClientBenchmarkThroughput(WOLFSSL_CTX* ctx, char* host, word16 port,

/* Compare TX and RX buffers */
if (XMEMCMP(tx_buffer, rx_buffer, (size_t)len) != 0) {
free(tx_buffer);
XFREE(tx_buffer, NULL, DYNAMIC_TYPE_TMP_BUFFER);
tx_buffer = NULL;
free(rx_buffer);
XFREE(rx_buffer, NULL, DYNAMIC_TYPE_TMP_BUFFER);
rx_buffer = NULL;
err_sys("Compare TX and RX buffers failed");
}
Expand Down
Loading
Loading