Mercurial > sdl-ios-xcode
diff src/cdrom/beos/SDL_syscdrom.cc @ 1572:3a8920cc822b
*** empty log message ***
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Tue, 21 Mar 2006 16:04:44 +0000 |
parents | 376665398b25 |
children | 92947e3a18db |
line wrap: on
line diff
--- a/src/cdrom/beos/SDL_syscdrom.cc Tue Mar 21 10:38:41 2006 +0000 +++ b/src/cdrom/beos/SDL_syscdrom.cc Tue Mar 21 16:04:44 2006 +0000 @@ -109,16 +109,18 @@ static void AddDrive(char *drive) { int i; + size_t len; if ( SDL_numcds < MAX_DRIVES ) { /* Add this drive to our list */ i = SDL_numcds; - SDL_cdlist[i] = (char *)SDL_malloc(SDL_strlen(drive)+1); + len = SDL_strlen(drive)+1; + SDL_cdlist[i] = (char *)SDL_malloc(len); if ( SDL_cdlist[i] == NULL ) { SDL_OutOfMemory(); return; } - SDL_strcpy(SDL_cdlist[i], drive); + SDL_strlcpy(SDL_cdlist[i], drive, len); ++SDL_numcds; #ifdef CDROM_DEBUG fprintf(stderr, "Added CD-ROM drive: %s\n", drive); @@ -165,9 +167,10 @@ SDLcdrom = SDL_getenv("SDL_CDROM"); /* ':' separated list of devices */ if ( SDLcdrom != NULL ) { char *cdpath, *delim; - cdpath = (char *)SDL_malloc(SDL_strlen(SDLcdrom)+1); + size_t len = SDL_strlen(SDLcdrom)+1; + cdpath = SDL_stack_alloc(char, len); if ( cdpath != NULL ) { - SDL_strcpy(cdpath, SDLcdrom); + SDL_strlcpy(cdpath, SDLcdrom, len); SDLcdrom = cdpath; do { delim = SDL_strchr(SDLcdrom, ':'); @@ -183,7 +186,7 @@ SDLcdrom = NULL; } } while ( SDLcdrom ); - SDL_free(cdpath); + SDL_stack_free(cdpath); } /* If we found our drives, there's nothing left to do */