[Verse-dev] address not initialized in v_man_pack_node.c

tdyar@mit.edu tdyar@mit.edu
Wed, 3 Dec 2003 07:56:16 -0500


This message is in MIME format.

---MOQ1070456176934b2630640a54ddcd59353032a39c9f
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit

Hi,

I found a couple little things in v_man_pack_node.c that could be quickly 
fixed. Seems like the "address" argument used to be a pointer, and it is 
printed out that way on line 23 and 71. Moreover, it is not unpacked from the 
buffer in v_unpack_accept_connect(), and the uninitialized pointer is sent to 
the verse client. This may be OK for compilers that auto-init char*'s to NULL, 
but MSVC++6 doesn't and it causes a nasty crash. I have attached a new version 
to fix this, or at least provide a start for making a proper fix.

Cheers,
Tom



---MOQ1070456176934b2630640a54ddcd59353032a39c9f
Content-Type: text/plain; name="v_man_pack_node.c"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="v_man_pack_node.c"

I2luY2x1ZGUgPHN0ZGxpYi5oPg0KI2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSAidl9jbWRf
Z2VuLmgiDQojaWYgIWRlZmluZWQoVl9HRU5FUkFURV9GVU5DX01PREUpDQojaW5jbHVkZSAidmVy
c2UuaCINCiNpbmNsdWRlICJ2X2NtZF9idWYuaCINCiNpbmNsdWRlICJ2X25ldHdvcmtfcXVlLmgi
DQojaW5jbHVkZSAidl9uZXR3b3JrLmgiDQojaW5jbHVkZSAidl9jb25uZWN0aW9uLmgiDQoNCg0K
VlNlc3Npb24gKnZlcnNlX3NlbmRfY29ubmVjdChjaGFyICpuYW1lLCBjaGFyICpwYXNzLCBjaGFy
ICphZGRyZXNzKQ0Kew0KCXVpbnQ4ICpidWY7DQoJdWludCBidWZmZXJfcG9zID0gMDsNCglWQ01E
QnVmSGVhZCAqaGVhZDsNCglWU2Vzc2lvbiAqY29uOw0KCWhlYWQgPSB2X2NtZF9idWZfYWxsb2Nh
dGUoVkNNREJTXzE1MDApOy8qIEFsbG9jYXRpbmcgdGhlIGJ1ZmZlciAqLw0KCWJ1ZiA9ICgoVkNN
REJ1ZmZlcjEwICopaGVhZCktPmJ1ZjsNCg0KCWJ1ZmZlcl9wb3MgKz0gdm5wX3Jhd19wYWNrX3Vp
bnQ4KCZidWZbYnVmZmVyX3Bvc10sIDApOy8qIFBhY2tpbmcgdGhlIGNvbW1hbmQgKi8NCgkjaWYg
ZGVmaW5lZChWX1BSSU5UX1NFTkRfQ09NTUFORFMpDQoJcHJpbnRmKCJzZW5kOiB2ZXJzZV9zZW5k
X2Nvbm5lY3QobmFtZSA9ICVzIHBhc3MgPSAlcyBhZGRyZXNzID0gJXMpO1xuIiwgbmFtZSwgcGFz
cywgYWRkcmVzcyk7DQoJI2VuZGlmDQoJYnVmZmVyX3BvcyArPSB2bnBfcmF3X3BhY2tfc3RyaW5n
KCZidWZbYnVmZmVyX3Bvc10sIG5hbWUsIDE2KTsNCglidWZmZXJfcG9zICs9IHZucF9yYXdfcGFj
a19zdHJpbmcoJmJ1ZltidWZmZXJfcG9zXSwgcGFzcywgMTYpOw0KCWNvbiA9IHZfY29uX2Nvbm5l
Y3QoYWRkcmVzcyk7DQoJaWYoY29uICE9IE5VTEwpDQoJew0KCQl2X2NtZF9idWZfc2V0X3VuaXFl
X3NpemUoaGVhZCwgYnVmZmVyX3Bvcyk7DQoJCXZfbnFfc2VuZF9idWYodl9jb25fZ2V0X25ldHdv
cmtfcXVldWUoKSwgaGVhZCk7DQoJfWVsc2UNCgkJdl9jbWRfYnVmX2ZyZWUoaGVhZCk7DQoJcmV0
dXJuIGNvbjsNCn0NCg0KdWludCB2X3VucGFja19jb25uZWN0KGNoYXIgKmJ1ZiwgdWludCBidWZm
ZXJfbGVuZ3RoLCB2b2lkICp1c2VyX2Z1bmMsIHZvaWQgKnVzZXJfZGF0YSkNCnsNCgl1aW50IGJ1
ZmZlcl9wb3MgPSAwOw0KCVZTZXNzaW9uICgqIGZ1bmNfY29ubmVjdCkodm9pZCAqdXNlcl9kYXRh
LCBjaGFyICpuYW1lLCBjaGFyICpwYXNzLCBjaGFyICphZGRyZXNzKTsNCgljaGFyIG5hbWVbMTZd
Ow0KCWNoYXIgcGFzc1sxNl07CQ0KCWZ1bmNfY29ubmVjdCA9IHVzZXJfZnVuYzsNCglpZihidWZm
ZXJfbGVuZ3RoIDwgMCkNCgkJcmV0dXJuIC0xOw0KCWJ1ZmZlcl9wb3MgKz0gdm5wX3Jhd191bnBh
Y2tfc3RyaW5nKCZidWZbYnVmZmVyX3Bvc10sIG5hbWUsIDE2LCBidWZmZXJfbGVuZ3RoIC0gYnVm
ZmVyX3Bvcyk7DQoJaWYoYnVmZmVyX2xlbmd0aCA8IDAgKyBidWZmZXJfcG9zKQ0KCQlyZXR1cm4g
LTE7DQoJYnVmZmVyX3BvcyArPSB2bnBfcmF3X3VucGFja19zdHJpbmcoJmJ1ZltidWZmZXJfcG9z
XSwgcGFzcywgMTYsIGJ1ZmZlcl9sZW5ndGggLSBidWZmZXJfcG9zKTsNCglpZihidWZmZXJfbGVu
Z3RoIDwgMCArIGJ1ZmZlcl9wb3MpDQoJCXJldHVybiAtMTsNCgkjaWYgZGVmaW5lZChWX1BSSU5U
X1JFQ0lWRV9DT01NQU5EUykNCglwcmludGYoInJlY2VpdmU6IHZlcnNlX3NlbmRfY29ubmVjdChu
YW1lID0gJXMgcGFzcyA9ICVzICk7IGNhbGxiYWNrID0gJXBcbiIsIG5hbWUsIHBhc3MsIHVzZXJf
ZnVuYyk7DQoJI2VuZGlmDQoJaWYoZnVuY19jb25uZWN0ICE9IE5VTEwgJiYgdl9mc19jb25uZWN0
X2dldF9hZGRyZXNzKCkgIT0gTlVMTCkNCgkJZnVuY19jb25uZWN0KHVzZXJfZGF0YSwgbmFtZSwg
cGFzcywgdl9mc19jb25uZWN0X2dldF9hZGRyZXNzKCkpOw0KCXJldHVybiBidWZmZXJfcG9zOw0K
fQ0KDQpWU2Vzc2lvbiAqdmVyc2Vfc2VuZF9hY2NlcHRfY29ubmVjdChWTm9kZUlEIGF2YXRhciwg
Y2hhciAqYWRkcmVzcykNCnsNCgl1aW50OCAqYnVmOw0KCXVpbnQgYnVmZmVyX3BvcyA9IDA7DQoJ
VkNNREJ1ZkhlYWQgKmhlYWQ7DQoJVlNlc3Npb24gKmNvbjsNCgloZWFkID0gdl9jbWRfYnVmX2Fs
bG9jYXRlKFZDTURCU18xNTAwKTsvKiBBbGxvY2F0aW5nIHRoZSBidWZmZXIgKi8NCglidWYgPSAo
KFZDTURCdWZmZXIxMCAqKWhlYWQpLT5idWY7DQoNCglidWZmZXJfcG9zICs9IHZucF9yYXdfcGFj
a191aW50OCgmYnVmW2J1ZmZlcl9wb3NdLCAxKTsvKiBQYWNraW5nIHRoZSBjb21tYW5kICovDQoJ
I2lmIGRlZmluZWQoVl9QUklOVF9TRU5EX0NPTU1BTkRTKQ0KCXByaW50Zigic2VuZDogdmVyc2Vf
c2VuZF9hY2NlcHRfY29ubmVjdChhdmF0YXIgPSAldSBhZGRyZXNzID0gJXMpO1xuIiwgYXZhdGFy
LCBhZGRyZXNzKTsNCgkjZW5kaWYNCglidWZmZXJfcG9zICs9IHZucF9yYXdfcGFja191aW50MzIo
JmJ1ZltidWZmZXJfcG9zXSwgYXZhdGFyKTsNCgljb24gPSB2X2Nvbl9jb25uZWN0KGFkZHJlc3Mp
Ow0KCWlmKGNvbiAhPSBOVUxMKQ0KCXsNCgkJdl9jbWRfYnVmX3NldF91bmlxZV9zaXplKGhlYWQs
IGJ1ZmZlcl9wb3MpOw0KCQl2X25xX3NlbmRfYnVmKHZfY29uX2dldF9uZXR3b3JrX3F1ZXVlKCks
IGhlYWQpOw0KCX1lbHNlDQoJCXZfY21kX2J1Zl9mcmVlKGhlYWQpOw0KCXJldHVybiBjb247DQp9
DQp1aW50IHZfdW5wYWNrX2FjY2VwdF9jb25uZWN0KGNoYXIgKmJ1ZiwgdWludCBidWZmZXJfbGVu
Z3RoLCB2b2lkICp1c2VyX2Z1bmMsIHZvaWQgKnVzZXJfZGF0YSkNCnsNCgl1aW50IGJ1ZmZlcl9w
b3MgPSAwOw0KCVZTZXNzaW9uICgqIGZ1bmNfYWNjZXB0X2Nvbm5lY3QpKHZvaWQgKnVzZXJfZGF0
YSwgVk5vZGVJRCBhdmF0YXIsIGNoYXIgKmFkZHJlc3MpOw0KCVZOb2RlSUQgYXZhdGFyOw0KCWNo
YXIgKmFkZHJlc3MgPSBOVUxMOw0KCWZ1bmNfYWNjZXB0X2Nvbm5lY3QgPSB1c2VyX2Z1bmM7DQoJ
aWYoYnVmZmVyX2xlbmd0aCA8IDQpDQoJCXJldHVybiAtMTsNCglidWZmZXJfcG9zICs9IHZucF9y
YXdfdW5wYWNrX3VpbnQzMigmYnVmW2J1ZmZlcl9wb3NdLCAmYXZhdGFyKTsNCgkjaWYgZGVmaW5l
ZChWX1BSSU5UX1JFQ0lWRV9DT01NQU5EUykNCglwcmludGYoInJlY2VpdmU6IHZlcnNlX3NlbmRf
YWNjZXB0X2Nvbm5lY3QoYXZhdGFyID0gJXUgKTsgY2FsbGJhY2sgPSAlcFxuIiwgYXZhdGFyLCB1
c2VyX2Z1bmMpOw0KCSNlbmRpZg0KCWlmKGZ1bmNfYWNjZXB0X2Nvbm5lY3QgIT0gTlVMTCkNCgkJ
ZnVuY19hY2NlcHRfY29ubmVjdCh1c2VyX2RhdGEsIGF2YXRhciwgYWRkcmVzcyk7DQoNCglyZXR1
cm4gYnVmZmVyX3BvczsNCn0NCg0KI2VuZGlm

---MOQ1070456176934b2630640a54ddcd59353032a39c9f--