Changeset 6029:c25f9d9f78a6 in roaraudio for libroar/serverinfo.c
- Timestamp:
- 07/15/14 11:07:45 (10 years ago)
- Branch:
- default
- Phase:
- public
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
libroar/serverinfo.c
r5961 r6029 174 174 char * mesdata; 175 175 176 if ( mes == NULL || info == NULL ) 176 if ( mes == NULL || info == NULL ) { 177 roar_err_set(ROAR_ERROR_FAULT); 177 178 return -1; 179 } 178 180 179 181 _add(ROAR_ITST_VERSION, version); … … 193 195 194 196 if ( needlen > LIBROAR_BUFFER_MSGDATA ) { 195 if ( data == NULL ) 197 if ( data == NULL ) { 198 roar_err_set(ROAR_ERROR_MSGSIZE); 196 199 return -1; 200 } 197 201 198 202 mesdata = roar_mm_malloc(needlen); … … 250 254 ROAR_DBG("roar_server_info(mes=%p{.datalen=%llu) = ?", mes, (long long unsigned int)mes->datalen); 251 255 252 if ( mes == NULL ) 253 return NULL; 256 if ( mes == NULL ) { 257 roar_err_set(ROAR_ERROR_FAULT); 258 return NULL; 259 } 254 260 255 261 if ( data == NULL ) { … … 264 270 265 271 // 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 } 278 290 279 291 ROAR_DBG("roar_server_info(mes=%p) = ?", mes); … … 286 298 287 299 // 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 } 290 304 291 305 ROAR_DBG("roar_server_info(mes=%p) = ?", mes); … … 296 310 297 311 // 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 } 300 316 301 317 ROAR_DBG("roar_server_info(mes=%p) = ?", mes); … … 321 337 322 338 // 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 } 325 343 326 344 ROAR_DBG("roar_server_info(mes=%p) = ?", mes);
Note: See TracChangeset
for help on using the changeset viewer.