From 43d8e895201cc57c2e06ce0417515b6f9fa0afd2 Mon Sep 17 00:00:00 2001 From: Patrick McDermott Date: Tue, 30 Jul 2019 04:04:46 -0400 Subject: s_client: Play some golf This saves 80 bytes in .text and 24 bytes in .rodata: wolfssl-util: file format elf64-x86-64 Sections: Idx Name Size VMA LMA File off Algn 0 .interp 0000001c 0000000000000238 0000000000000238 00000238 2**0 CONTENTS, ALLOC, LOAD, READONLY, DATA 1 .note.ABI-tag 00000020 0000000000000254 0000000000000254 00000254 2**2 CONTENTS, ALLOC, LOAD, READONLY, DATA 2 .note.gnu.build-id 00000024 0000000000000274 0000000000000274 00000274 2**2 CONTENTS, ALLOC, LOAD, READONLY, DATA 3 .gnu.hash 0000003c 0000000000000298 0000000000000298 00000298 2**3 CONTENTS, ALLOC, LOAD, READONLY, DATA 4 .dynsym 00000450 00000000000002d8 00000000000002d8 000002d8 2**3 CONTENTS, ALLOC, LOAD, READONLY, DATA 5 .dynstr 000002ab 0000000000000728 0000000000000728 00000728 2**0 CONTENTS, ALLOC, LOAD, READONLY, DATA 6 .gnu.version 0000005c 00000000000009d4 00000000000009d4 000009d4 2**1 CONTENTS, ALLOC, LOAD, READONLY, DATA 7 .gnu.version_r 00000020 0000000000000a30 0000000000000a30 00000a30 2**3 CONTENTS, ALLOC, LOAD, READONLY, DATA 8 .rela.dyn 00000108 0000000000000a50 0000000000000a50 00000a50 2**3 CONTENTS, ALLOC, LOAD, READONLY, DATA 9 .rela.plt 00000318 0000000000000b58 0000000000000b58 00000b58 2**3 CONTENTS, ALLOC, LOAD, READONLY, DATA 10 .init 00000017 0000000000000e70 0000000000000e70 00000e70 2**2 CONTENTS, ALLOC, LOAD, READONLY, CODE 11 .plt 00000220 0000000000000e90 0000000000000e90 00000e90 2**4 CONTENTS, ALLOC, LOAD, READONLY, CODE 12 .plt.got 00000008 00000000000010b0 00000000000010b0 000010b0 2**3 CONTENTS, ALLOC, LOAD, READONLY, CODE - 13 .text 00000792 00000000000010c0 00000000000010c0 000010c0 2**4 + 13 .text 00000742 00000000000010c0 00000000000010c0 000010c0 2**4 CONTENTS, ALLOC, LOAD, READONLY, CODE - 14 .fini 00000009 0000000000001854 0000000000001854 00001854 2**2 + 14 .fini 00000009 0000000000001804 0000000000001804 00001804 2**2 CONTENTS, ALLOC, LOAD, READONLY, CODE - 15 .rodata 000001a6 0000000000001860 0000000000001860 00001860 2**3 + 15 .rodata 0000018e 0000000000001810 0000000000001810 00001810 2**3 CONTENTS, ALLOC, LOAD, READONLY, DATA - 16 .eh_frame_hdr 00000044 0000000000001a08 0000000000001a08 00001a08 2**2 + 16 .eh_frame_hdr 00000044 00000000000019a0 00000000000019a0 000019a0 2**2 CONTENTS, ALLOC, LOAD, READONLY, DATA - 17 .eh_frame 00000184 0000000000001a50 0000000000001a50 00001a50 2**3 + 17 .eh_frame 00000184 00000000000019e8 00000000000019e8 000019e8 2**3 CONTENTS, ALLOC, LOAD, READONLY, DATA 18 .init_array 00000008 0000000000201dc8 0000000000201dc8 00001dc8 2**3 CONTENTS, ALLOC, LOAD, DATA 19 .fini_array 00000008 0000000000201dd0 0000000000201dd0 00001dd0 2**3 CONTENTS, ALLOC, LOAD, DATA 20 .jcr 00000008 0000000000201dd8 0000000000201dd8 00001dd8 2**3 CONTENTS, ALLOC, LOAD, DATA 21 .dynamic 000001f0 0000000000201de0 0000000000201de0 00001de0 2**3 CONTENTS, ALLOC, LOAD, DATA 22 .got 00000030 0000000000201fd0 0000000000201fd0 00001fd0 2**3 CONTENTS, ALLOC, LOAD, DATA 23 .got.plt 00000120 0000000000202000 0000000000202000 00002000 2**3 CONTENTS, ALLOC, LOAD, DATA 24 .data 00000018 0000000000202120 0000000000202120 00002120 2**3 CONTENTS, ALLOC, LOAD, DATA 25 .bss 00000010 0000000000202140 0000000000202140 00002138 2**5 ALLOC 26 .comment 00000026 0000000000000000 0000000000000000 00002138 2**0 CONTENTS, READONLY --- diff --git a/src/s_client.c b/src/s_client.c index b2a0f06..80570b8 100644 --- a/src/s_client.c +++ b/src/s_client.c @@ -307,14 +307,8 @@ s_client(int argc, char **argv) wolfSSL_Init(); - method = wolfTLSv1_2_client_method(); - if (method == NULL) { - fputs("Out of memory\n", stderr); - goto error; - } - - ctx = wolfSSL_CTX_new(method); - if (ctx == NULL) { + if ((method = wolfTLSv1_2_client_method()) == NULL || + (ctx = wolfSSL_CTX_new(method)) == NULL) { fputs("Out of memory\n", stderr); goto error; } @@ -326,33 +320,21 @@ s_client(int argc, char **argv) goto error; } + (void) servername; + if ( #ifdef HAVE_OCSP - if (wolfSSL_CTX_EnableOCSP(ctx, WOLFSSL_OCSP_CHECKALL) != - WOLFSSL_SUCCESS) { - fputs("Failed to enable OCSP\n", stderr); - goto error; - } + wolfSSL_CTX_EnableOCSP(ctx, WOLFSSL_OCSP_CHECKALL) != + WOLFSSL_SUCCESS || #endif #ifdef HAVE_SNI - if (servername != NULL) { - if (wolfSSL_CTX_UseSNI(ctx, WOLFSSL_SNI_HOST_NAME, servername, - strlen(servername)) != WOLFSSL_SUCCESS){ - fputs("Out of memory\n", stderr); - goto error; - } - } -#else - (void) servername; + (servername != NULL && wolfSSL_CTX_UseSNI(ctx, + WOLFSSL_SNI_HOST_NAME, servername, + strlen(servername)) != WOLFSSL_SUCCESS) || #endif #ifdef HAVE_SUPPORTED_CURVES - if (use_curves(ctx) == false) { - fputs("Out of memory\n", stderr); - goto error; - } + use_curves(ctx) == false || #endif - - ssl = wolfSSL_new(ctx); - if (ssl == NULL) { + (ssl = wolfSSL_new(ctx)) == NULL) { fputs("Out of memory\n", stderr); goto error; } -- cgit v0.9.1