Mercurial > hg > index.cgi
comparison src/lwwire.c @ 4:56f53e48ab50
Fix off by one bug in protocol extension negotiation.
Arrays are indexed from zero!!!!
author | William Astle <lost@l-w.ca> |
---|---|
date | Sun, 29 May 2016 21:50:51 -0600 |
parents | e94940ca17e7 |
children | 422f5e8fff85 |
comparison
equal
deleted
inserted
replaced
3:e94940ca17e7 | 4:56f53e48ab50 |
---|---|
334 unsigned char buf[1]; | 334 unsigned char buf[1]; |
335 | 335 |
336 if (lwwire_read(buf, 1) < 0) | 336 if (lwwire_read(buf, 1) < 0) |
337 return; | 337 return; |
338 // NAK the request | 338 // NAK the request |
339 buf[1] = 0x55; | 339 buf[0] = 0x55; |
340 lwwire_write(buf, 1); | 340 lwwire_write(buf, 1); |
341 } | 341 } |
342 | 342 |
343 void lwwire_proto_disableextension(void) | 343 void lwwire_proto_disableextension(void) |
344 { | 344 { |
345 unsigned char buf[1]; | 345 unsigned char buf[1]; |
346 | 346 |
347 if (lwwire_read(buf, 1) < 0) | 347 if (lwwire_read(buf, 1) < 0) |
348 return; | 348 return; |
349 // ACK disabling any unsupported extensions | 349 // ACK disabling any unsupported extensions |
350 buf[1] = 0x42; | 350 buf[0] = 0x42; |
351 lwwire_write(buf, 1); | 351 lwwire_write(buf, 1); |
352 } | 352 } |
353 | 353 |
354 void lwwire_proto_extensionop(void) | 354 void lwwire_proto_extensionop(void) |
355 { | 355 { |