src/audio/dummy/SDL_dummyaudio.c
author Philipp Wiesemann <philipp.wiesemann@arcor.de>
Wed, 29 Oct 2014 20:20:47 +0100
changeset 9201 21d9f9babb30
parent 8149 681eb46b8ac4
child 9394 bb28e5281770
permissions -rw-r--r--
Fixed bug 2647 - Memory leak in SDL_AddHintCallback function - SDL_hints.c

Nitz

Variable entry going out of scope leaks the storage it points to, at:

/* Need to add a hint entry for this watcher */
hint = (SDL_Hint *)SDL_malloc(sizeof(*hint));
if (!hint) {
return;
}

Patch is attached.
icculus@1532
     1
/*
slouken@5535
     2
  Simple DirectMedia Layer
slouken@8149
     3
  Copyright (C) 1997-2014 Sam Lantinga <slouken@libsdl.org>
icculus@1532
     4
slouken@5535
     5
  This software is provided 'as-is', without any express or implied
slouken@5535
     6
  warranty.  In no event will the authors be held liable for any damages
slouken@5535
     7
  arising from the use of this software.
icculus@1532
     8
slouken@5535
     9
  Permission is granted to anyone to use this software for any purpose,
slouken@5535
    10
  including commercial applications, and to alter it and redistribute it
slouken@5535
    11
  freely, subject to the following restrictions:
icculus@1532
    12
slouken@5535
    13
  1. The origin of this software must not be misrepresented; you must not
slouken@5535
    14
     claim that you wrote the original software. If you use this software
slouken@5535
    15
     in a product, an acknowledgment in the product documentation would be
slouken@5535
    16
     appreciated but is not required.
slouken@5535
    17
  2. Altered source versions must be plainly marked as such, and must not be
slouken@5535
    18
     misrepresented as being the original software.
slouken@5535
    19
  3. This notice may not be removed or altered from any source distribution.
icculus@1532
    20
*/
icculus@8093
    21
#include "../../SDL_internal.h"
icculus@1532
    22
slouken@1533
    23
/* Output audio to nowhere... */
icculus@1532
    24
icculus@1532
    25
#include "SDL_audio.h"
icculus@1532
    26
#include "../SDL_audio_c.h"
icculus@1532
    27
#include "SDL_dummyaudio.h"
icculus@1532
    28
slouken@1895
    29
static int
icculus@2049
    30
DUMMYAUD_OpenDevice(_THIS, const char *devname, int iscapture)
icculus@1532
    31
{
icculus@7038
    32
    return 0;                   /* always succeeds. */
icculus@1532
    33
}
icculus@1532
    34
icculus@2049
    35
static int
slouken@2060
    36
DUMMYAUD_Init(SDL_AudioDriverImpl * impl)
icculus@1532
    37
{
slouken@1895
    38
    /* Set the function pointers */
icculus@2049
    39
    impl->OpenDevice = DUMMYAUD_OpenDevice;
icculus@2049
    40
    impl->OnlyHasDefaultOutputDevice = 1;
icculus@3699
    41
    return 1;   /* this audio target is available. */
icculus@1532
    42
}
icculus@1532
    43
icculus@1532
    44
AudioBootStrap DUMMYAUD_bootstrap = {
icculus@2049
    45
    "dummy", "SDL dummy audio driver", DUMMYAUD_Init, 1
icculus@1532
    46
};
icculus@1532
    47
slouken@1895
    48
/* vi: set ts=4 sw=4 expandtab: */