Changeset 6029:c25f9d9f78a6 in roaraudio for libroar/serverinfo.c


Ignore:
Timestamp:
07/15/14 11:07:45 (10 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

some smaller improvements in error handling

File:
1 edited

Legend:

Unmodified
Added
Removed
  • libroar/serverinfo.c

    r5961 r6029  
    174174 char * mesdata; 
    175175 
    176  if ( mes == NULL || info == NULL ) 
     176 if ( mes == NULL || info == NULL ) { 
     177  roar_err_set(ROAR_ERROR_FAULT); 
    177178  return -1; 
     179 } 
    178180 
    179181 _add(ROAR_ITST_VERSION, version); 
     
    193195 
    194196 if ( needlen > LIBROAR_BUFFER_MSGDATA ) { 
    195   if ( data == NULL ) 
     197  if ( data == NULL ) { 
     198   roar_err_set(ROAR_ERROR_MSGSIZE); 
    196199   return -1; 
     200  } 
    197201 
    198202  mesdata = roar_mm_malloc(needlen); 
     
    250254 ROAR_DBG("roar_server_info(mes=%p{.datalen=%llu) = ?", mes, (long long unsigned int)mes->datalen); 
    251255 
    252  if ( mes == NULL ) 
    253   return NULL; 
     256 if ( mes == NULL ) { 
     257  roar_err_set(ROAR_ERROR_FAULT); 
     258  return NULL; 
     259 } 
    254260 
    255261 if ( data == NULL ) { 
     
    264270 
    265271 // some basic texts like version: 
    266  if ( mes->datalen < needlen ) 
    267   return NULL; 
    268  
    269  ROAR_DBG("roar_server_info(mes=%p) = ?", mes); 
    270  
    271  if ( mesdata[0] != 0 ) /* version */ 
    272   return NULL; 
    273  
    274  ROAR_DBG("roar_server_info(mes=%p) = ?", mes); 
    275  
    276  if ( mesdata[1] != 0 ) /* reserved */ 
    277   return NULL; 
     272 if ( mes->datalen < needlen ) { 
     273  roar_err_set(ROAR_ERROR_PROTO); 
     274  return NULL; 
     275 } 
     276 
     277 ROAR_DBG("roar_server_info(mes=%p) = ?", mes); 
     278 
     279 if ( mesdata[0] != 0 ) { /* version */ 
     280  roar_err_set(ROAR_ERROR_NSVERSION); 
     281  return NULL; 
     282 } 
     283 
     284 ROAR_DBG("roar_server_info(mes=%p) = ?", mes); 
     285 
     286 if ( mesdata[1] != 0 ) { /* reserved */ 
     287  roar_err_set(ROAR_ERROR_PROTO); 
     288  return NULL; 
     289 } 
    278290 
    279291 ROAR_DBG("roar_server_info(mes=%p) = ?", mes); 
     
    286298 
    287299 // return error if our index buffer is too short. 
    288  if ( idx > (sizeof(iebuf)/sizeof(*iebuf)) ) 
    289   return NULL; 
     300 if ( idx > (sizeof(iebuf)/sizeof(*iebuf)) ) { 
     301  roar_err_set(ROAR_ERROR_MSGSIZE); 
     302  return NULL; 
     303 } 
    290304 
    291305 ROAR_DBG("roar_server_info(mes=%p) = ?", mes); 
     
    296310 
    297311 // recheck if we have a complet index. 
    298  if ( mes->datalen < needlen ) 
    299   return NULL; 
     312 if ( mes->datalen < needlen ) { 
     313  roar_err_set(ROAR_ERROR_PROTO); 
     314  return NULL; 
     315 } 
    300316 
    301317 ROAR_DBG("roar_server_info(mes=%p) = ?", mes); 
     
    321337 
    322338 // recheck if we have all the data... 
    323  if ( mes->datalen < needlen ) 
    324   return NULL; 
     339 if ( mes->datalen < needlen ) { 
     340  roar_err_set(ROAR_ERROR_PROTO); 
     341  return NULL; 
     342 } 
    325343 
    326344 ROAR_DBG("roar_server_info(mes=%p) = ?", mes); 
Note: See TracChangeset for help on using the changeset viewer.