diff options
Diffstat (limited to 'net/rose/rose_subr.c')
-rw-r--r-- | net/rose/rose_subr.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/net/rose/rose_subr.c b/net/rose/rose_subr.c index a29a3a960fd6..02891ce2db37 100644 --- a/net/rose/rose_subr.c +++ b/net/rose/rose_subr.c | |||
@@ -400,6 +400,7 @@ static int rose_create_facilities(unsigned char *buffer, struct rose_sock *rose) | |||
400 | { | 400 | { |
401 | unsigned char *p = buffer + 1; | 401 | unsigned char *p = buffer + 1; |
402 | char *callsign; | 402 | char *callsign; |
403 | char buf[11]; | ||
403 | int len, nb; | 404 | int len, nb; |
404 | 405 | ||
405 | /* National Facilities */ | 406 | /* National Facilities */ |
@@ -456,7 +457,7 @@ static int rose_create_facilities(unsigned char *buffer, struct rose_sock *rose) | |||
456 | 457 | ||
457 | *p++ = FAC_CCITT_DEST_NSAP; | 458 | *p++ = FAC_CCITT_DEST_NSAP; |
458 | 459 | ||
459 | callsign = ax2asc(&rose->dest_call); | 460 | callsign = ax2asc(buf, &rose->dest_call); |
460 | 461 | ||
461 | *p++ = strlen(callsign) + 10; | 462 | *p++ = strlen(callsign) + 10; |
462 | *p++ = (strlen(callsign) + 9) * 2; /* ??? */ | 463 | *p++ = (strlen(callsign) + 9) * 2; /* ??? */ |
@@ -471,7 +472,7 @@ static int rose_create_facilities(unsigned char *buffer, struct rose_sock *rose) | |||
471 | 472 | ||
472 | *p++ = FAC_CCITT_SRC_NSAP; | 473 | *p++ = FAC_CCITT_SRC_NSAP; |
473 | 474 | ||
474 | callsign = ax2asc(&rose->source_call); | 475 | callsign = ax2asc(buf, &rose->source_call); |
475 | 476 | ||
476 | *p++ = strlen(callsign) + 10; | 477 | *p++ = strlen(callsign) + 10; |
477 | *p++ = (strlen(callsign) + 9) * 2; /* ??? */ | 478 | *p++ = (strlen(callsign) + 9) * 2; /* ??? */ |