• ベストアンサー

Buffer overrun, data ..

メールソフトで、openssl を使って、 ヤフーメールにPOP接続して、800個ほど溜まっているメールを取り出そうとしています。 メッセージID を確認しながら重複しないように取り出そうとしています。 700個ほど取り出したのですが、 その後、頻繁に Buffer overrun, data truncated のメッセージが出て、ストップします。 このメッセージはopenssl が作成しているのでしょうか? また、原因、対策はなんでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • jacta
  • ベストアンサー率26% (845/3158)
回答No.1

http://okwave.jp/qa/q8198656.html ↑を見る限り自分でメッセージを出しているのでは? その通りであれば、原因や対策も見えてくるはずです。

uyama33
質問者

お礼

// Is there enough room in our buffer for the new data? if ((nLen + nBytesRead) > sizeof(szResponse)){ MessageBox("Buffer overrun, data truncated","Error",MB_OK); nLen = 0; szResponse[0] = '\0'; return; } 他のところばかり探していて見つかりませんでした。 szResponse を大きくしてみます。 ありがとうございました。

その他の回答 (1)

  • Wr5
  • ベストアンサー率53% (2177/4070)
回答No.2

>他のところばかり探していて見つかりませんでした。 >szResponse >を大きくしてみます。 回答した時に想定したパターンについては…もう忘れてしまいましたが……。 ・nBytesReadがsizeof(szResponse)より大きい場合にエラーになる。 ・nLenが不正な値になる場合がある。 というパターンがありますかね。 # たぶん回答した時のは上側の方かと思われますが…。 >if (strlen(cp)) が偽だった場合にnLenがどうなるか…についてはちゃんと調べてありますか?

uyama33
質問者

お礼

ありがとうございます。 1箇所変更するといろいろ不具合が出ています。 方針は、sqlite を使うことにしました。 メモリーの関係だと思いますがいろいろ問題が起きています。 少しずつ修正しています。

関連するQ&A

  • ヤフーメールと POP/SMTP

    ヤフーメールを、POP/SMTPで扱えることを知りました。 さらに、SSL(TLS)での接続にして、通信経路での暗号化もできるようです。 openssl を使えば、そんなに苦労しなくてもなんとかなると思いますが、 ヤフーメールを暗号化(サーバー管理者にも解けない暗号化)して扱うというときに、 POP3S にする意味は有りますか? POP3 で十分ですか? サーバー管理者にも解けない暗号化 については、AES や カメリア を考えています。 アドバイスよろしくお願いいたします。 たとえば、近い将来 POP3S だけになるとか。。

  • OpenSSL   の代わりは?

    いつも教えていただきありがとうございます。 メールソフトを作成しています。 皆様に教えていただきながら、OpenSSLを使って、 Gメールとヤフーメールに、SSLで接続してメールの送受信が出来るようになりました。 安全、安全と思っていたのですが、 http://itpro.nikkeibp.co.jp/article/COLUMN/20131011/510544/ こんな記事がありました。そこで、  OpenSSL の代わりになるようなもので、 信頼できるものはありますか? 情報があれば教えてください。よろしくお願いいたします。

  • Outlook Expressの設定

    Outlook Expressを開いたときにアカウントのpop.mail.yahoo.co.jpにログオンしてくださいというメッセージが出てきます。IDとパスワード入れてもうけつけてくれません。キャンセルすれば問題はないのですが・・・。OSはXP、受信メールサーバーの種類はPOP3、受信メール(POP3)はPOP.mail.yahoo.co.jp、送信メール(smtp)はSMTP.mail.yahoo.co.jpで設定しています。

  • infoseekでyahooの外部メール設定をしたい

    お願いします<m(__)m> ぴったりのQ&Aを探せませんでした…重複してたらスミマセン。 先週からyahooメールがログインできなくなってしまい、問い合わせしているのですが、未だに返事をもらえず、ごみメールは溜まってしまうし、オークションもできないし緊急で困っています。 *infoseekにもyahooを外部メールで取得できるようになっているのですが、その設定をしたところ、 設定名:yahoo POPサーバ: pop.mail.yahoo.co.jp と自動で入力されます。 ID:  とパスワード:を入力するのですがyahoo infosaeek両方のIDパスワードとも違うようで設定ができません。ヘルプにも環境の違う説明でわかりません。 IE7またはFirefoxを使用しています。 よろしくお願いします。

  • インターネットエクスプローラ

    Microsoft Visual C++ Runtime Library Buffer overrun detected! Program: C:\Program Files\Internet Explorer\IEXPLORE.EXE A buffer overrun has been detected which has corrupted the program's internal state. The program cannot safely continue execution and must now be terminated. というメッセージが出てきてインターネットに接続できません。どうすればよいでしょうか?

  • Yahoo! BBのメール設定を教えてください

    やっとYAHOOのADSLが開通して喜んで Microsoft Outlookにybb.ne.jpのアドレスを説明通りに設定するのですがうまくいきません。 何回やり変えても「IDとパスワードを入れてください」と言うメッセージが出ます。暫くほっておくと繋がる時もあると気いたので一週間そのままにしておいたが、 駄目でした。なんせ初心者ゆえ泣きたくなりました。・_・、)グスン  どうぞ解る様に教えてください。 設定は下記の通りしました。 受信メール(POP3)サーバー:ybbpop.mail.yahoo.co.jp 送信メール(SMTP)サーバー:ybbsmtp.mail.yahoo.co.jp 電子メールアドレス:YAHOO!ID@ybb.ne.jp 申し遅れましたが、この設定はうまく出来ました。 SMTPサーバー:smtp.mail.yahoo.co.jp POPサーバー:(YAHOO!ID+@)+pop.mail.yahoo.co.jp 電子メールアドレス:YAHOO!ID@yahoo.co.jp        宜しくお願いいたします。

    • ベストアンサー
    • ADSL
  • 写メールBBSを設置について

    写メールBBSを設置したいのですが、画像が表示されず困っています レッツPHP http://php.s3.to/bbs/bbs7.php どこで間違っているのか教えてください ■ 設置方法 1. 受信用メールアドレスを用意して下さい。写メールBBS専用にするといいでしょう 2. 「config.php」で受信メールアカウントの設定、削除パスの設定をしてください。 3. riyou.htmlの受信アドレスを適宜修正してください。 4. すべてのファイルをFTPソフトでアップロードしてください 5. 画像保存用ディレクトリ「data」を作成し、パーミッション(読み書き属性)を777などにします。 6. ログファイル「mail.cgi」のパーミッションを666などにします (1)yahooメールを作成してPOP3設定を行い、アウトルックで送受信できるようにしました 受信メール(POP3サーバー) pop.mail.yahoo.co.jp 送信メール(SMTP)サーバー smtp.mail.yahoo.co.jp アカウント名/ログイン名: ログインID パスワード Yahoo! JAPAN IDのパスワード メールアドレス ~@yahoo.co.jp (2)config.phpの変更 // 受信メールサーバーの設定 // POP3サーバー $host = "****";****をpop.mail.yahoo.co.jpに変更 // ユーザーID $user = "****";****をYahoo!ログインIDに変更 // パスワード $pass = "****";****をYahoo!ログインパスワードに変更 // 更新後のジャンプ先(表示スクリプトのURL) $jump = "http://~/mailbbs/mailbbs.php"; (3)riyou.html 画像やメッセージを、<br><a href="mailto:???@????.????">????@????.???</a> 宛に送信して下さい。 ????@????.???を~@yahoo.co.jpに変更 (4)パイナリーとアスキーを確認しアップロード (5)dataはmailbbs[フォルダ]の中に始めから1つあったので作成していません (6)ファイル構造は下記 public_html / | mailbbs[フォルダ] | data[フォルダ][777] mail.cgi[666] config.php htmltemplate.inc mailbbs.php mailbbs_admin.html mailbbs_edit.html mailbbs_i.html mailbbs_pc.html pop.php riyou.html ※data[フォルダ][777]、mail.cgi[666]以外のパーミッションはいじってません

    • 締切済み
    • PHP
  • outlook Expressのデータ移行

    outlook ExpressのメッセージデータをYahooメールへの移し方教えてください。 メールソフトに入っているメールをYahoo!メールの受信箱に移したい。 Yahooのアドレスしか持っていません。 USBメモリーを使って、outlook ExpressのメッセージデータをYahooメールに落とすことは可能でしょうか?

  • メールが受信できない

    2月1日から受信できなくなってしまいました。エラー内容は メールアドレス(自分のアドレス)アカウントでメッセージを送受信できません。 サーバーへの接続は失敗しました。 サーバー: 'pop.mail.yahoo.co.jp' Windows Live メール エラー ID: 0x800CCC0E プロトコル: POP3 ポート: 110 セキュリティ (SSL): いいえ ソケット エラー: 10060 対処法を教えてくれませんか。

  • Buffer overrun detected!

    Microsoft Visual C++ Runtime Library Buffer overrun detected! Program: C:\WINDOWS\Explore.exe A buffer overrun has been detected which has corrupted the program's internal state. The program cannot safely continue execution and must now be terminated エクスプローラを開くたびに、こうでるのですが、どうしたらいいのでしょうか・・・PCに詳しくないのでご存知の方お願いします。