/*
 *
 *    Copyright (c) 2011-2015 Nest Labs, Inc.
 *    All rights reserved.
 *
 *    This document is the property of Nest. It is considered
 *    confidential and proprietary information.
 *
 *    This document may not be reproduced or transmitted in any form,
 *    in whole or in part, without the express written permission of
 *    Nest.
 *
 *    Description:
 *        Custom implemenation of OpenSSL's OpenSSLDie function.
 */

#include "crypto.h"

void OpenSSLDie(const char *file,int line,const char *assertion)
{
    while (1) ;
}

